Java 如何在屏幕窗口中终止bash文件运行的所有任务?

Java 如何在屏幕窗口中终止bash文件运行的所有任务?,java,linux,bash,shell,gnu-screen,Java,Linux,Bash,Shell,Gnu Screen,也许答案已经在那里了,但在读了几个问题后,我没有设法做我需要的 我的处境: 我通过ssh使用机器。我创建了一个screen窗口,调用了bash文件,如下所示: for var in 1..N do java -option $var done N非常高 问题:有没有一种方法可以一次杀死由bash文件启动的所有java任务?或者关闭屏幕窗口,所有东西都在屏幕上运行 注意:java任务正在前台的屏幕内运行。如果我尝试执行CTRL-C,我一次只能杀死一个java任务 如果您不怕杀死任何正在运行的ja

也许答案已经在那里了,但在读了几个问题后,我没有设法做我需要的

我的处境: 我通过
ssh
使用机器。我创建了一个
screen
窗口,调用了
bash
文件,如下所示:

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

问题:有没有一种方法可以一次杀死由
bash
文件启动的所有java任务?或者关闭屏幕窗口,所有东西都在屏幕上运行


注意
java
任务正在前台的
屏幕内运行。如果我尝试执行
CTRL-C
,我一次只能杀死一个
java
任务

如果您不怕杀死任何正在运行的java进程,您可以执行始终有用的“killall-9Java”:

  • 找出屏幕会话的进程ID
  • 使用此pid编号终止屏幕及其所有子进程
  • 例如:

    屏幕
    置于后台(
    Ctrl-Alt+D

    列出您的打开屏幕会话:

    screen -ls
    
    您将得到如下结果:

    There is a screen on:
        2222.pts-3.yourmachine    (Detached)
    
    第一个数字是屏幕会话的进程ID

    使用此号码可杀死屏幕及其所有子屏幕:

    PID=2222
    kill $PID
    

    如果您的java应用程序捕捉到一些信号,请使用不太优雅的方式消除它们,例如,
    kill-9$PID

    该服务器上是否有其他进程使用命令“java-option”运行?如果没有,您可以执行类似“kill$(ps-ef | grep'java-option'| awk'{print$2}”)的操作