【发布时间】:2019-03-05 05:48:32
【问题描述】:
在 Linux 服务器中,我有一个 Java 应用程序... 有时它的线程卡住了.. 我怎样才能找到它们并杀死 Java 的特定线程。 我想杀死那个需要超过 5 分钟时间的 java 线程 Top -H 结果为图像
【问题讨论】:
-
不要说 type kill -9
我想创建一个 shell 脚本来检测它自己的进程 id。 -
您应该将创建一个 shell 脚本作为问题的一部分。
-
我已经在这里有了它并删除了它,因为我虽然:它并没有真正帮助你 - 但 FWIW:shell 脚本的 pid 通常是 $$。 ps 和 jps 列出进程,是的,您可以过滤(grep)特定名称和时间 - 也可以是开始时间并杀死它。但那是你真正想要的吗?被资源阻塞的 BTW 进程不能被杀死。
-
试试
kill -9 $(ps -eo comm,pid,etimes | awk '/^processname/ {if ($3 > 300) { print $2}}')。不知道您是否可以找到适合您的应用程序的processname。这里 300 是运行时间。
标签: java linux java-threads kill-process