我在后台使用nohup启动我的Python程序,如下所述-
nohup zook.py &现在我试图终止这个过程,所以我执行了ps命令,如下所述
root@phxdbx1145:/home/david/zook# ps ax | grep zook.py
16352 pts/6 S+ 0:00 grep --color=auto zook.py但不知怎么的,每次PID变了,我都不知道为什么。不管我什么时候喜欢-
kill -9 16352它总是说,No Such Process。
当我再次执行px命令时,我看到PID被自动改变了。
所以我不知道我该如何扼杀这个过程?
我有什么办法用这个名字消灭这个过程吗?
我试过
killall zook.py
但这对我不起作用,我得到-
zook.py: no process found还有其他选择吗?不知为什么每次它的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发布于 2013-12-28 06:12:55
如果您查看PID的右边是什么,您可能会注意到,它是grep的PID,查找您的搜索字符串。这就是为什么每次都不同的原因。当然,当您从grep返回shell时,grep已经消失了。
如果进程仍在运行,您将发现它以不同的名称运行。尝试ps ax | grep python,或者更好的是,如果你有pgrep python的话。
发布于 2013-12-28 14:56:12
要为进程执行grep,可以使用
ps ax|grep name|grep -v grep这将消除grep命令,但是如果没有显示脚本名,您可能必须执行ps axw才能获得更长的命令行。
ps axww|grep name|grep -v grephttps://serverfault.com/questions/563873
复制相似问题