macos - 关闭终端后在后台运行进程

标签 macos bash daemon nohup

即使在关闭终端后,我仍试图在后台运行脚本。我已经搜索和搜索并尝试了 nohupdisown 但似乎都没有用。当我关闭终端窗口时,我收到典型的 Closing this window will terminate the running processes: watch. 消息。这最终终止了我的后台进程,即使在使用 nohupdisown 时也是如此。可能是什么问题?

我的代码就是简单的两行

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/

相关文章:

.net - ASP.NET Core RC2 作为 linux 守护进程

bash - 将 Bash 脚本中的变量设置为文件内容加上一些文本

linux - 如果写出从1到4321的数字,数字 '5'会出现多少次?

linux - 使用 awk 为所有列使用相同的格式打印 $0

python - 拥有 iOS MDM 服务器

ios - 苹果系统日志时间以毫秒为单位?

java - 无法在 El Capitan 上切换到 Java 1.6

objective-c - 连接可移动存储时自动启动 Cocoa 应用程序

macos - 如何在新的 macOS 版本上为旧版本创建 Homebrew 瓶?

docker - 如何在 Redhat Linux 7* 中的现有 docker 安装上切换到不同的存储驱动程序