我在服务器上运行nohup进程。当我试图杀死它,我的油灰控制台关闭。
这是我如何试图找到进程ID:
ps -ef |grep nohup
这是杀人的命令
kill -9 1787 787
我在服务器上运行nohup进程。当我试图杀死它,我的油灰控制台关闭。
这是我如何试图找到进程ID:
ps -ef |grep nohup
这是杀人的命令
kill -9 1787 787
当前回答
我在VPS服务器上使用red hat linux(并通过SSH - putty),对我来说,以下工作:
首先,列出所有正在运行的进程:
ps -ef
然后在第一列中找到您的用户名;我发现它有以下三次:
一个是SSH连接 第二个是FTP连接 最后一个是nohup过程
然后在第二列中,你可以找到nohup进程的PID,你只需要输入:
kill PID
(当然是用nohup进程的PID替换PID)
就是这样!
我希望这个答案对一些人有用,我也是bash和SSH的新手,但在这里找到了我需要的95%的知识:)
其他回答
假设我在后台用下面的命令运行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)
如果您不知道PID,那么首先使用TOP命令找到它
top -U用户id
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
您将使用top获取PID,然后执行终止操作。
$ kill -9 <PID>
我在VPS服务器上使用red hat linux(并通过SSH - putty),对我来说,以下工作:
首先,列出所有正在运行的进程:
ps -ef
然后在第一列中找到您的用户名;我发现它有以下三次:
一个是SSH连接 第二个是FTP连接 最后一个是nohup过程
然后在第二列中,你可以找到nohup进程的PID,你只需要输入:
kill PID
(当然是用nohup进程的PID替换PID)
就是这样!
我希望这个答案对一些人有用,我也是bash和SSH的新手,但在这里找到了我需要的95%的知识:)
假设您正在使用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}