尝试终止进程时出错 -- “kill: pid: arguments must be process or job IDs”

Error when trying to kill processes -- "kill: pid: arguments must be process or job IDs"

提问人:Nate 提问时间:8/15/2014 更新时间:8/15/2014 访问量:43364

问:

我正在尝试在我的服务器上杀死狮身人面像,以便我可以重新启动它。我尝试使用此命令来查找PID:

ps ax | grep "searchd"

打印了这个:

 1483 ?        S     00:00 /usr/local/bin/searchd --config /path/to/sphinx.conf
 1484 ?        Sl    20:51 /usr/local/bin/searchd --config /path/to/sphinx.conf
 1523 ?        S      0:00 /usr/local/bin/searchd --config /path/to/another/sphinx.conf
 1524 ?        Sl    20:35 /usr/local/bin/searchd --config /path/to/another/sphinx.conf
14174 pts/0    S+     0:00 grep searchd

我很困惑为什么会有重复的条目,无法弄清楚 or 列是什么意思,但我试过了这个:SSl

kill pid 1483
kill pid 1484

但这输出了这个错误:

-bash: kill: pid: arguments must be process or job IDs

当我再次列出进程时,看起来它确实杀死了进程(我为前两个进程运行了 kill 命令),但这个错误让我想知道我做错了什么?

Linux SSH 狮身人面像 杀戮

评论

1赞 Jim Garrison 8/15/2014
题外话;属于超级用户
3赞 konsolebox 8/15/2014
它们可能是僵尸进程。不知道。。
1赞 konsolebox 8/15/2014
我的理论是,当试图向它们发送消息时,内核没有将它们验证为有效的进程 ID,但内核认识到它们是僵尸,杀死了它们,而对于只是报告它们不存在的人来说,这并不明显。只是一个理论:)killkill
1赞 barryhunter 8/15/2014
你为什么不使用?searchd --stop
1赞 barryhunter 8/15/2014
它只停止适当的实例,如果你有多个“实例”,你也应该传递配置文件 - 它使用 pid 文件(来自配置)来识别正确的主进程。子进程由主进程自动关闭。searchd --stop --config /path/to/sphinx.conf

答:

7赞 Jim Garrison 8/15/2014 #1

kill 1483
kill 1484

当你进入时

kill pid 1483

你说的实际上是

请用数字“pid”和 1483 杀死进程。

消息中的引用pid

-bash: kill: pid: arguments must be process or job IDs

告诉您字符串“pid”不是有效的进程 ID

评论

0赞 Nate 8/15/2014
自从它们与命令一起显示以来,它们为什么不是有效的 PID?从哪里来?ps ax1486
0赞 Kamelkent 9/26/2017
谢谢,我遇到了同样的问题,这为我解决了。