我在服务器上运行nohup进程。当我试图杀死它,我的油灰控制台关闭。

这是我如何试图找到进程ID:

ps -ef |grep nohup 

这是杀人的命令

 kill -9 1787 787

当前回答

Jobs -l应该为您提供nohup进程列表的pid。 轻轻地杀死他们。 ;)

其他回答

这在Ubuntu中是有效的

输入这个来找出PID

ps aux | grep java

所有有关java的运行过程将被显示

对我来说

johnjoe      3315  9.1  4.0 1465240 335728 ?      Sl   09:42   3:19 java -jar batch.jar

现在杀死它杀死-9 3315

僵尸进程终于停止。

关于失去你的油灰:通常是ps…| awk / grep / perl /…流程也会被匹配!老把戏是这样的

ps -ef | grep -i [n]ohup 

这样正则表达式搜索就不会与正则表达式搜索过程匹配!

假设我在后台用下面的命令运行ruby脚本

nohup ruby script.rb &

然后我可以通过指定命令名来获取上述后台进程的pid。在我的例子中,命令是ruby。

ps -ef | grep ruby

输出

ubuntu   25938 25742  0 05:16 pts/0    00:00:00 ruby test.rb

现在您可以使用kill命令轻松地终止进程

kill 25938

如果您的应用程序总是使用相同的端口,您可以像这样终止该端口中的所有进程。

Kill -9 $(lsof -t -i:8080)

这适用于mi fine在mac上

kill -9 `ps -ef | awk '/nohup/{ print \$2 }'`