我意识到这可能是一个愚蠢的问题,但即使深入挖掘 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/