我正在服务器上运行 nohup 进程。当我尝试杀死它时,我的腻子控制台会关闭。
这是我尝试查找进程 ID 的方法:
ps -ef |grep nohup
这是杀死命令
kill -9 1787 787
使用时nohup
然后你把任务放在后台,后台操作员(&
)将在命令提示符处为您提供 PID。如果您的计划是手动管理进程,您可以保存该 PID,并在需要时使用它来终止进程,通过kill PID
or kill -9 PID
(如果你需要强制杀死)。或者,您可以稍后通过以下方式找到 PIDps -ef | grep "command name"
并从那里找到 PID。注意nohup
关键字/命令本身不会出现在ps
相关命令的输出。
如果您使用脚本,您可以在脚本中执行以下操作:
nohup my_command > my.log 2>&1 &
echo $! > save_pid.txt
这将运行my_command
将所有输出保存到my.log
(在脚本中,$!
代表最后执行的进程的PID)。这2
是标准错误的文件描述符(stderr
) and 2>&1
告诉 shell 将标准错误输出路由到标准输出(文件描述符1
)。这个需要&1
这样 shell 就知道它是该上下文中的文件描述符,而不仅仅是一个名为1
. The 2>&1
需要捕获通常写入标准错误到我们的my.log
文件(来自标准输出)。看输入/输出重定向有关使用 shell 处理 I/O 重定向的更多详细信息。
如果该命令定期发送输出,您可以偶尔检查输出tail my.log
,或者如果您想“实时”关注它,您可以使用tail -f my.log
。最后,如果您需要终止该进程,可以通过以下方式完成:
kill -9 `cat save_pid.txt`
rm save_pid.txt
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)