linux 尝试终止正在运行的python脚本时出现“No such process”

bwleehnv  于 2023-06-29  发布在  Linux
关注(0)|答案(3)|浏览(988)

我看到并尝试了许多解决方案。
我使用ps aux | grep script.py来获取进程的pid。我得到以下输出:bioseq 24739 0.0 0.0 112884 1200 pts/1 R+ 13:20 0:00 grep --color=auto /script.py,然后键入:kill 112884,得到输出112884: No such process
我还在grep -i上尝试了一个类似的命令,它产生了一个不同的pid。kill <pid>也产生<pid> No such process

k4aesqcs

k4aesqcs1#

尝试使用pkill终止进程,但也可以检查cron:有可能您终止了进程,但crontab会不断地重新启动它。

pjngdqdw

pjngdqdw2#

  • 首先,检查列出的进程是否可能是僵尸进程?所以你不能杀人。它的生存时间取决于它的父进程。
    • 如果您将u标志添加到ps的调用中,它还会显示STAT列,其中Z表示僵尸进程。*
  • 如果它是一个僵尸进程,这有完美的解释How to kill zombie process

如果不是僵尸进程,请尝试使用killall [process name]命令。需要进程名,例如killall gedit会杀死所有这样的进程。
更多信息,请参阅man killall

bybem2ql

bybem2ql3#

我相信显示的进程是grep进程本身,当您执行grep时,它显然正在运行,但在执行grep后立即终止。
因此,如果要查找的进程确实在运行,则应该看到两个进程-实际进程和用于查找该进程的grep进程。
例如,如果我运行一个完全随机字符串的grep
ps aux | grep wruiogarwiogj
我会得到:
62104 0.0 0.0 408102560 1120 s152 R+ 10:55AM 0:00.00 grep --color=auto --exclude-dir=.bzr --exclude-dir=CVS --exclude-dir=.git --exclude-dir=.hg --exclude-dir=.svn --exclude-dir=.idea --exclude-dir=.tox wruiogarwiogj
显然没有实际的wruiogarwiogj在运行。

相关问题