【问题标题】:Stopping an unknown process in linux server停止Linux服务器中的未知进程
【发布时间】:2016-08-15 22:29:00
【问题描述】:

我的部署过程中有这个命令。但是我希望这个过程在 linux 服务器中部署时停止然后重新启动。我查了一下,发现这只是一个JAVA进程,不能简单地杀死JAVA,因为其他nimbus和supervisor也在运行。

sudo nohup java -Droute=full -jar /opt/artifacts/project/project.jar --spring.config.location=/etc/project/application_full.properties >/dev/null 2>&1 &

那么,我怎样才能停止这个过程呢?

【问题讨论】:

  • 查找它的 PID 为 ps -ef| grep "nohup java" 或类似名称,然后输入 kill <pid>
  • 是的,然后我必须编写一个脚本来提取它的 PID,然后将其终止,因为它是一个自动化过程,并且 PID 可能多次不同。我正在寻找更简单的过程。还是谢谢。
  • 就两行代码,不知道你找的简单到什么程度XD
  • 你知道它运行的端口号吗?

标签: java linux spring jar


【解决方案1】:

你的单线杀手:(我知道这很糟糕,但它应该可以)

ps -ef| grep "name_of_service" | grep -oP "root\s+(\d+)\s" | grep -oP "\d+" | kill

ps -ef 找到程序行:

root      5727     1  0 11:38 ?        00:00:00 grep service

然后我们使用grep 删除我们不需要的部分。

最后通过 pid 杀死。

ps:将“root”替换为您知道运行您正在寻找的服务/pid 的用户。

【讨论】:

  • 您可能不得不说xargs kill 而不仅仅是kill
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-01
  • 1970-01-01
  • 2013-01-21
  • 2016-10-31
  • 2021-06-22
相关资源
最近更新 更多