Bash:使用指定名称杀死所有屏幕

时间:2012-10-16 03:43:08

标签: bash gnu-screen

如果我有多个具有相同名称的屏幕,如何在不检查所有PID的情况下终止所有这些屏幕,然后执行screen -wipe

示例:

24754.screen1  (Detached)
32236.screen1  (Detached)
7308.screen1   (Detached)
3896.screen1   (Detached)
10155.screen1  (Detached)
10888.screen1  (Detached)
28438.screen1  (Detached)
26008.screen1  (Detached)

我想杀死screen1的所有实例,终止在其中运行的所有进程,而不需要在之后运行screen -wipe

1 个答案:

答案 0 :(得分:3)

不确定是否足够干净。 -X退出操作不需要-wipe:

screen -ls | awk -vFS='\t|[.]' '/screen1/ {system("screen -S "$2" -X quit")}'

您应该能够深入了解会话开始的每个shell,并在理论上发送退出