use*_*056 189 linux bash grep nohup
我正在服务器上运行nohup进程.当我试图杀死它时,我的腻子控制台会关闭.
这是我尝试查找进程ID的方法:
ps -ef |grep nohup
Run Code Online (Sandbox Code Playgroud)
这是杀人的命令
kill -9 1787 787
Run Code Online (Sandbox Code Playgroud)
lur*_*ker 319
使用nohup并将任务放在后台时,后台运算符(&)将在命令提示符下为您提供PID.如果您的计划是手动管理流程,您可以保存该PID并在以后使用它来通过kill PID或kill -9 PID(如果您需要强制终止)终止该流程.或者,您可以稍后ps -ef | grep "command name"找到PID并从那里找到PID.请注意,nohup关键字/命令本身不会出现在ps相关命令的输出中.
如果您使用了脚本,则可以执行以下操作:
nohup my_command > my.log 2>&1 &
echo $! > save_pid.txt
Run Code Online (Sandbox Code Playgroud)
这将运行my_command将所有输出保存到my.log(在脚本中,$!表示执行的最后一个进程的PID).它2是标准error(stderr)的文件描述符,并2>&1告诉shell将标准错误输出路由到标准输出(文件描述符1).它要求&1shell知道它是该上下文中的文件描述符而不仅仅是一个名为的文件1.在2>&1需要捕捉,通常被写入标准错误到我们的任何错误信息my.log的文件(从标准输出来).有关使用shell处理I/O重定向的更多详细信息,请参阅I/O重定向.
如果命令定期发送输出,您可以偶尔检查输出tail my.log,或者如果您想要"直播"它可以使用tail -f my.log.最后,如果您需要终止进程,可以通过以下方式执行:
kill -9 `cat save_pid.txt`
rm save_pid.txt
Run Code Online (Sandbox Code Playgroud)
Pho*_*box 85
我在VPS服务器上使用red hat linux(并通过SSH-putty),对我来说,以下工作:
首先,列出所有正在运行的进程:
ps -ef
Run Code Online (Sandbox Code Playgroud)
然后在第一列中找到您的用户名; 我发现它有以下三次:
然后在第二列中,您可以找到nohup进程的PID,并且只键入:
kill PID
Run Code Online (Sandbox Code Playgroud)
(当然用nohup进程的PID替换PID)
就是这样!
我希望这个答案对于那些我也很擅长bash和SSH的人有用,但是我发现我需要95%的知识:)
San*_*khe 41
假设我使用下面的命令在后台运行ruby脚本
nohup ruby script.rb &
Run Code Online (Sandbox Code Playgroud)
然后我可以通过指定命令名来获得上述后台进程的pid.在我的情况下命令是ruby.
ps -ef | grep ruby
Run Code Online (Sandbox Code Playgroud)
产量
ubuntu 25938 25742 0 05:16 pts/0 00:00:00 ruby test.rb
Run Code Online (Sandbox Code Playgroud)
现在,您可以使用kill命令轻松终止进程
kill 25938
Run Code Online (Sandbox Code Playgroud)
Pun*_*han 17
jobs -l应该为你提供nohup进程列表的pid.轻轻地杀死它们(-9).;)
假设您正在使用 nohup 执行一个 java 程序,您可以通过以下方式获取 java 进程 ID
`ps aux | grep java`
Run Code Online (Sandbox Code Playgroud)
输出
xxxxx 9643 0.0 0.0 14232 968 pts/2
Run Code Online (Sandbox Code Playgroud)
然后您可以通过键入来终止该进程
sudo kill 9643
Run Code Online (Sandbox Code Playgroud)
或者说你需要杀死所有的java进程然后使用
sudo killall java
Run Code Online (Sandbox Code Playgroud)
这个命令会杀死所有的 java 进程。您可以将其与流程一起使用。只需在命令末尾给出进程名称
sudo killall {processName}
Run Code Online (Sandbox Code Playgroud)
小智 5
你可以试试
kill -9 `pgrep [command name]`
Run Code Online (Sandbox Code Playgroud)
这适用于Ubuntu
输入此内容以查找PID
ps aux | grep java
Run Code Online (Sandbox Code Playgroud)
所有与java有关的运行过程都会显示出来
就我而言是
johnjoe 3315 9.1 4.0 1465240 335728 ? Sl 09:42 3:19 java -jar batch.jar
Run Code Online (Sandbox Code Playgroud)
现在杀掉它kill -9 3315
僵尸进程终于停止了。
| 归档时间: |
|
| 查看次数: |
316978 次 |
| 最近记录: |