如何在屏幕窗口中杀死bash文件运行的所有任务?

问题描述 投票:3回答:2

也许答案已经存在,但在阅读了几个问题后,我无法做到我需要做的事情。

我的情况:我通过ssh使用机器。我创建了一个screen窗口,我称之为bash文件,如下所示:

for var in 1..N
do
java -option $var
done

N非常高。

问题:有没有办法立即杀死bash文件启动的所有java任务?或者杀死屏幕窗口,一切都在屏幕上运行?

注意:java任务正在运行-inside中的screen-。如果我尝试做CTRL-C我当时只能杀死一个java任务。

java linux bash shell gnu-screen
2个回答
3
投票
  1. 找出屏幕会话的进程ID。
  2. 使用此pid编号可以终止屏幕及其所有子进程

例如:

screen放在后台(Ctrl-Alt + D

列出您的开放屏幕会话:

screen -ls

你会得到类似的东西:

There is a screen on:
    2222.pts-3.yourmachine    (Detached)

第一个数字是屏幕会话的进程ID。

使用此数字可以杀死屏幕及其所有子节点:

PID=2222
kill $PID

如果您的java应用程序捕获了一些信号,请使用不太优雅的方法来杀死它们,例如kill -9 $PID


0
投票

如果你不害怕杀死任何正在运行的java进程你可以做总是有用的“killall -9 java”:)

© www.soinside.com 2019 - 2024. All rights reserved.