ars*_*nal 0 linux unix python nohup background-process
我使用nohup
如下所述在后台启动了我的 Python 程序-
nohup zook.py &
Run Code Online (Sandbox Code Playgroud)
现在我试图终止这个进程,所以我ps
执行了下面提到的命令
root@phxdbx1145:/home/david/zook# ps ax | grep zook.py
16352 pts/6 S+ 0:00 grep --color=auto zook.py
Run Code Online (Sandbox Code Playgroud)
但不知何故,每次它的 PID 改变时,我都不知道为什么。每当我喜欢这样 -
kill -9 16352
Run Code Online (Sandbox Code Playgroud)
它总是说,No Such Process
。
当我再次执行 px 命令时,我看到 PID 自动更改了..
所以我不确定如何终止这个进程?
有什么办法可以以某种方式终止带有名称的进程吗?
我试过
killall zook.py
但它对我不起作用,我得到 -
zook.py: no process found
Run Code Online (Sandbox Code Playgroud)
还有其他选择吗?不知何故,它的 PID 每次都会改变.. 所以我不能使用kill -9 pid
更新:-
这就是我得到的。我做了pkill -9 zook.py
然后我做了下面提到的 ps 命令,它不断地显示 zook.py ?
root@dbx1145:/home/david/zook# pkill -9 zook.py
root@dbx1145:/home/david/zook# ps ax | grep zook.py
23870 pts/6 S+ 0:00 grep --color=auto zook.py
root@dbx1145:/home/david/zook# ps ax | grep zook.py
23872 pts/6 S+ 0:00 grep --color=auto zook.py
root@dbx1145:/home/david/zook# ps ax | grep zook.py
23874 pts/6 S+ 0:00 grep --color=auto zook.py
root@dbx1145:/home/david/zook# ps ax | grep zook.py
23876 pts/6 S+ 0:00 grep --color=auto zook.py
Run Code Online (Sandbox Code Playgroud)
如果您查看该 PID 右侧的内容,您可能会注意到它是 grep 寻找您的搜索字符串的 PID。这就是为什么每次都不一样。当您从 grep 取回 shell 时,当然 grep 已经消失了。
如果您的进程仍在运行,您会以不同的名称找到它。试试吧ps ax | grep python
,或者更好,pgrep python
如果你有的话。
归档时间: |
|
查看次数: |
3484 次 |
最近记录: |