有时,我的脚本会出错,并且会创建多个具有相同名称的屏幕会话。有没有一种方法可以在一个命令中使用此名称杀死所有这些?
Rx:/scripts# screen -S haydoz-script -X quit
There are several suitable screens on:
13372.haydoz-script (09/10/11 07:44:05) (Detached)
12287.haydoz-script (09/10/11 07:30:45) (Detached)
12230.haydoz-script (09/10/11 07:17:42) (Detached)
7824.haydoz-script (09/09/11 11:42:26) (Detached)
7764.haydoz-script (09/09/11 11:35:40) (Detached)
15753.haydoz-script (09/04/11 15:00:27) (Detached)
15744.haydoz-script (09/04/11 15:00:26) (Detached)
除了这些我不想杀死的屏幕外,还有其他屏幕在运行。
如果没有其他screen
正在运行的会话,则可以使用“强制”方式,而只能kill
使用killall screen
。
如果您想变得友善,可以遍历屏幕会话列表,然后一次又一次地杀死它们:
# screen -S foo && screen -S foo
[detached]
[detached]
# screen -ls
There are screens on:
8350.foo (Detached)
8292.foo (Detached)
2 Sockets in /tmp/screens/S-joschi.
# This is the interesting line. Just replace "foo" with the name of your session(s)
# for session in $(screen -ls | grep -o '[0-9]*\.foo'); do screen -S "${session}" -X quit; done
# screen -ls
No Sockets found in /tmp/screens/S-joschi.
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句