我在服务器上运行nohup进程。当我试图杀死它,我的油灰控制台关闭。
这是我如何试图找到进程ID:
ps -ef |grep nohup
这是杀人的命令
kill -9 1787 787
我在服务器上运行nohup进程。当我试图杀死它,我的油灰控制台关闭。
这是我如何试图找到进程ID:
ps -ef |grep nohup
这是杀人的命令
kill -9 1787 787
当前回答
你可以试试
kill -9 `pgrep [command name]`
其他回答
我在VPS服务器上使用red hat linux(并通过SSH - putty),对我来说,以下工作:
首先,列出所有正在运行的进程:
ps -ef
然后在第一列中找到您的用户名;我发现它有以下三次:
一个是SSH连接 第二个是FTP连接 最后一个是nohup过程
然后在第二列中,你可以找到nohup进程的PID,你只需要输入:
kill PID
(当然是用nohup进程的PID替换PID)
就是这样!
我希望这个答案对一些人有用,我也是bash和SSH的新手,但在这里找到了我需要的95%的知识:)
Jobs -l应该为您提供nohup进程列表的pid。 轻轻地杀死他们。 ;)
今天我遇到了同样的问题。因为是很久以前的事了,我完全忘了我在什么时候用了哪个命令。我尝试了三种方法:
Using the STIME shown in ps -ef command. This shows the time you start your process, and it's very likely that you nohup you command just before you close ssh(depends on you) . Unfortunately I don't think the latest command is the command I run using nohup, so this doesn't work for me. Second is the PPID, also shown in ps -ef command. It means Parent Process ID, the ID of process that creates the process. The ppid is 1 in ubuntu for process that using nohup to run. Then you can use ps --ppid "1" to get the list, and check TIME(the total CPU time your process use) or CMD to find the process's PID. Use lsof -i:port if the process occupy some ports, and you will get the command. Then just like the answer above, use ps -ef | grep command and you will get the PID.
一旦找到进程的PID,就可以使用kill PID来终止进程。
当你在nohup中创建一个作业时,它会告诉你进程ID !
nohup sh test.sh &
输出将显示进程ID,如
25013
你可以杀死它:
kill 25013
假设您正在使用nohup执行java程序,您可以通过
`ps aux | grep java`
输出
xxxxx 9643 0.0 0.0 14232 968 pts/2
然后您可以通过输入来终止该进程
sudo kill 9643
或者让我们说,您需要杀死所有的Java进程,然后使用
sudo killall java
该命令将终止所有Java进程。您可以将此用于流程。只需在命令末尾给出进程名
sudo killall {processName}