当前位置: 首页 > 面试题库 >

如何获取进程ID以杀死nohup进程?

鲁淇
2023-03-14
问题内容

我正在服务器上运行一个nohup进程。当我尝试杀死它时,我的油灰控制台会关闭。

这是我尝试查找进程ID的方法:

ps -ef |grep nohup

这是杀死的命令

 kill -9 1787 787

问题答案:

使用nohup并将任务放在后台时,后台运算符(&)将在命令提示符下为您提供PID。如果您的计划是手动管理该进程,则可以保存该PID,然后在需要时通过kill PIDkill -9 PID(如果需要强制终止)将其用于终止该进程。或者,您可以稍后ps -ef | grep "command name"找到PID,然后从那里找到PID。请注意,nohup关键字/命令本身不会出现在ps相关命令的输出中。

如果使用脚本,则可以执行以下操作:

nohup my_command > my.log 2>&1 &
echo $! > save_pid.txt

这将运行my_command所有输出保存到my.log(在脚本中,$!代表最后执行的进程的PID)。的2是标准误差(文件描述符stderr)和2>&1告诉shell路由标准错误输出到标准输出(文件描述符1)。它要求&1外壳程序知道它是该上下文中的文件描述符,而不只是一个名为的文件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


 类似资料:
  • 问题内容: 我在前台启动了我的程序(守护程序),然后用杀死了它,但剩下一个僵尸,无法用杀死它。如何杀死僵尸进程? 如果僵尸是一个死进程(已被杀死),我如何将其从输出中删除? 问题答案: 僵尸已经死了,所以您无法杀死它。要清理僵尸,必须等待其父级等待,因此杀死父级应该可以消除僵尸。(父对象死后,僵尸将被pid 1继承,而pid 1将等待该僵尸并清除其在进程表中的条目。)如果守护程序正在生成成为僵尸的

  • 每次重新启动时,在ubuntu上运行时,都会看到进程的负载 我想干掉所有这些进程(我不知道为什么它们在重新启动时运行,但它们会极大地降低我的cpu性能。) 我尝试了这里的每一个建议,停止并移除所有docker容器,但没有任何效果:进程仍在运行。 我怎么解决这个?

  • 问题内容: 例如从bash: 仅杀死父进程。 问题答案: 当您将 负 PID传递给时,它实际上会通过该(绝对)数字将信号发送到过程 组 。您可以在Python中完成与之等效的操作。

  • 问题内容: 我需要制作一个从用户获取以下内容的脚本: 1)进程名称(在Linux上)。 2)此进程写入的日志文件名。 它需要终止该进程并确认该进程已关闭。将日志文件名更改为带有时间和日期的新文件名。然后再次运行该过程,确认它已启动,以便继续写入日志文件。 先谢谢您的帮助。 问题答案: 您可以使用以下命令检索给定名称的进程ID(PID): 希望这可以帮助

  • 问题内容: 我想在Windows中杀死特定的Java进程,例如在Linux中(获取processid然后杀死该进程)。 问题答案: 您可以使用JRE中包含的实用程序来查找Java进程的进程ID。输出将显示可执行JAR文件的名称或主类的名称。 然后使用Windows任务管理器终止该过程。如果要在命令行上执行此操作,请使用

  • 本文向大家介绍Java如何获取当前进程ID以及所有Java进程的进程ID,包括了Java如何获取当前进程ID以及所有Java进程的进程ID的使用技巧和注意事项,需要的朋友参考一下 首先是获取当前Java运行的Java进程ID,这个是网上常见的,也就是Java程序自身将进程ID打印出来: 运行结果: ManagementFactory是一个在运行时管理和监控Java VM的工厂类,它能提供很多管理V