Sad*_*per 2 process ssh nohup amazon-ec2 mpi
我有一个 AWS EC2 Ubuntu 20.04 实例,通过 puTTY SSH 访问。在非 root 上通过以下命令通过OpenMPI运行 Python 进程:
nohup mpirun python3 job.py
当外壳打开时,它可以正常运行。尽管使用psandjob没有显示进程,但我可以通过 nohup.out 和不断变化的文件系统看到它在运行几个小时后仍在工作。
当我关闭 shell 时,nohup 进程结束。我可能还应该注意到,当我运行上面的 nohup 命令时,我无法再输入任何内容(光标变为空白)。所以当我跑步ps时job时,我必须打开第二个外壳。我以前从未使用过 nohup 并认为这是不正常的。
我调查了 nohup.out 文件是否有错误,但发现没有写入任何内容。
所以总而言之:
关闭 SSH 实例(puTTY)结束 nohup 进程
ps 和 job 没有列出 nohup 进程,即使我知道它正在运行
如果需要的话我可以回答更多问题
jobs只能显示当前 shell 的作业。
Bareps 显示与当前用户具有相同有效用户 ID 且与调用者具有相同控制终端的进程。例如,您需要ps -e查看其他进程(尽管不一定是操作系统中的所有进程))。
如果你跑
\nnohup something \xe2\x80\xa6 &\nRun Code Online (Sandbox Code Playgroud)\n然后您将能够在同一个 shell 中运行jobs或。ps不要指望看到nohup。它的任务是以特定的方式运行something,不需要持续。期待看到something。
因此,您的进程可能幸存下来,而您只是假设它已经死亡。又或许它真的死了。请参阅为什么进程被杀死nohup?答案了两种可能性:
KillUserProcesses=yes在logind.conf(系统);SIGHUP该处理程序覆盖了nohup.更多信息请参见:、和之间的区别nohupdisown&。如果我理解正确,disown如果生成的进程实现了自己的处理程序,可以提供帮助SIGHUP。像这样使用它:
nohup something \xe2\x80\xa6 &\ndisown\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
5384 次 |
| 最近记录: |