即使在关闭终端后,我仍试图在后台运行脚本。我已经搜索和搜索并尝试了 nohup
和 disown
但似乎都没有用。当我关闭终端窗口时,我收到典型的 Closing this window will terminate the running processes: watch.
消息。这最终终止了我的后台进程,即使在使用 nohup
或 disown
时也是如此。可能是什么问题?
我的代码就是简单的两行
cmd="nohup watch -n 1 sudo /etc/block.sh > /dev/null"
$cmd & # blocks automatically
它位于 .bash_profile
中,因为我希望它在我打开新终端时启动。
可以忽略sudo;我已经找到了一种无需输入密码即可执行 sudo 命令的方法。
我正在使用 Mac OSX。
最佳答案
启动子 shell 并从那里运行 nohup
命令似乎可以避免终端在退出时将其关闭。
bash -c "nohup sh -c 'while true; do date; sleep 1; done' &"
不是很优雅,但适合我。
关于macos - 关闭终端后在后台运行进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32243553/