如何通过屏幕 window 中的 bash 文件终止所有任务 运行?
How do I kill all tasks run by a bash file in a screen window?
也许答案已经在那里了,但是在阅读了几个问题之后我没能做到我需要的。
我的情况:
我正在通过 ssh
使用一台机器。我创建了一个 screen
window,我调用了一个 bash
文件,如下所示:
for var in 1..N
do
java -option $var
done
N
非常高。
问题:有没有办法一次性杀死bash
文件启动的所有java任务?或者杀死屏幕 window 并且屏幕中的所有内容都是 运行?
注意:java
任务在运行 - 在screen
中- 在前台。如果我尝试做 CTRL-C
,我当时只能终止一个 java
任务。
如果你不怕杀死任何 运行 java 进程,你可以做总是有用的 "killall -9 java" :)
- 找出屏幕会话的进程 ID。
- 使用此 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
也许答案已经在那里了,但是在阅读了几个问题之后我没能做到我需要的。
我的情况:
我正在通过 ssh
使用一台机器。我创建了一个 screen
window,我调用了一个 bash
文件,如下所示:
for var in 1..N
do
java -option $var
done
N
非常高。
问题:有没有办法一次性杀死bash
文件启动的所有java任务?或者杀死屏幕 window 并且屏幕中的所有内容都是 运行?
注意:java
任务在运行 - 在screen
中- 在前台。如果我尝试做 CTRL-C
,我当时只能终止一个 java
任务。
如果你不怕杀死任何 运行 java 进程,你可以做总是有用的 "killall -9 java" :)
- 找出屏幕会话的进程 ID。
- 使用此 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