bash - 从 .bashrc 启动后台进程

标签 bash putty

我意识到这可能是一个愚蠢的问题,但即使深入挖掘 stackoverflow 网站和谷歌,我也无法解决几个小时。

这是 .bashrc 中的基本代码,用于在我登录 shell 后启动 gkrellm

if ps ax | grep -v grep | grep gkrellm > /dev/null
then
    echo "gkrellm is already running"
else
    command gkrellm &
fi

我已经习惯了尝试

...
else
    nohup gkrellm &
fi
...

...
else
    gkrellm
    $GK_PID=`pidof gkrellm`
    disown -h $GK_PID
fi
...

gkrellm 被正确地放置为后台作业,我可以使用 shell(如预期的那样)。但是即使我从同一个 shell 启动其他应用程序,一旦我按下 Ctrl-c,我仍然有 gkrellm 退出。如何防止 gkrellm 在按下 Ctrl-c 时关闭?

以防万一。我正在使用名为 KiTTY 的 PuTTY 克隆,但相信这不是问题所在。

感谢您的帮助!

最佳答案

在很久以前找到一个可行的解决方案后,我几乎忘记了这个问题并回答了我自己的问题;)多年来,Follow 在我的 .bashrc 中工作得很好

mygkrellm()
{
    if pidof -x "gkrellm" >/dev/null; then
    echo "Gkrellm is already running. Go to shell!"       
    else
    nohup "/usr/bin/gkrellm" &
    fi
}

关于bash - 从 .bashrc 启动后台进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11065954/

相关文章:

mysql - 从linux终端插入mysql

linux - 当值为 0 时存储 grep -c 输出时脚本终止

linux - Linux 上的串行通信连接

putty - 如何从 PuTTY 中读取文件

string - 如何从文件中删除包含特定字符串的行?

python - 别名 :/usr/local/bin/pip3: not found, 但 .bashrc 是正确的

batch-file - 如何使用 PuTTY 批处理文件将上次修改的文件从远程服务器下载到本地

vim - 通过 PuTTY 在 Vi (Vim) 中使用小键盘

linux - 使用 bash 从文本中获取特定字符串

c# - 在 C# 中捕获 Plink 输出