如何通过 SSH 启动进程,使其继续运行?
Posted
技术标签:
【中文标题】如何通过 SSH 启动进程,使其继续运行?【英文标题】:How to start process via SSH, so it keeps running? 【发布时间】:2012-08-18 00:36:22 【问题描述】:我有三个文件: monitor.sh,启动 python 脚本:
sudo python ./webCheck &
sudo python ./apiCheck &
还有其他的,webCheck 和 apiCheck:它应该在我关闭终端后在后台运行。它无限循环地检查我的其他网站的可用性。
我无法让它工作,我正在尝试 nohup,但无法正确使用语法。 webCheck 必须使用 sudo 运行。 nohup 是否也包含在 sh 脚本中?我猜因为 monitor.sh 应该只是启动其他两个,所以一个不需要 nohup。
怎么做?
【问题讨论】:
我认为这个问题中ec2没有什么特别之处,所以我会检查Prevent a background process from being stopped after closing SSH client 【参考方案1】:你应该可以使用:
sudo nohup python ./webCheck &
sudo nohup python ./apiCheck &
我认为您的 monitor.sh 不需要它,因为启动其他两个应该需要相对较短的时间。但是,如果这两个检查将成为 monitor.sh 的子项,我不肯定,这最终可能会成为一个问题。
【讨论】:
工作,我可以杀死终端,它仍然运行。使用 sudo ps 后它没有出现,但是当我使用 sudo ps aux |少,它出现了! 很高兴它成功了!您可能还想查看 nneonneo 的推荐。守护程序可能是一个更好的解决方案,具体取决于您要执行的操作。以上是关于如何通过 SSH 启动进程,使其继续运行?的主要内容,如果未能解决你的问题,请参考以下文章