我与一些同事共享一个开发服务器,它是一个 Ubuntu 服务器,我们在那里有几个脚本,所以基本上我们运行进程的通常方式是使用screen会话。我的问题是,当ps aux| grep python我看到一个正在运行的进程时:
root x x x x x x Ss Apr12 29:58 /usr/bin/python /home/script.py
Run Code Online (Sandbox Code Playgroud)
这个脚本没有在屏幕会话上运行,它在被杀死时自动启动,所以我需要知道什么服务正在启动/重新启动该进程。任何帮助表示赞赏。
您可以使用 pstree 获取所有进程及其父进程的树视图。在下面的示例中,我将获取pulseaudio的父进程,其PID为1913:
$ pstree -sU 1913
systemd???pulseaudio???{alsa-sink-ALC88}
??{alsa-source-ALC}
Run Code Online (Sandbox Code Playgroud)
在您的情况下,我将使用 pgrep 加 pstree,如下所示:
pstree -sU $(pgrep /home/script.py)
Run Code Online (Sandbox Code Playgroud)
请注意,如果脚本父级被杀死,它的父级很可能是 init。在这种情况下,您将需要更积极的方式来获取父进程。
| 归档时间: |
|
| 查看次数: |
88 次 |
| 最近记录: |