在没有特定会话的情况下杀死屏幕#

时间:2013-06-23 16:52:17

标签: linux centos kill gnu-screen

要创建一个屏幕,我现在正在做:

screen -dmS screenname ./file

完美无缺,但远程杀死它:

screen -X -S screenname exit

将回复:

No screen session found

这是由于屏幕有{session#}。{screenname}

如果按照以下方式工作:

screen -X -S session#.screenname exit

可以采用哪些解决方案?我不完全确定你在启动屏幕时可以获得#会话。这一切都是远程完成的。

2 个答案:

答案 0 :(得分:1)

我也使用-dmS选项启动屏幕,然后使用stuff命令将命令发送到屏幕:

$ screen -dmS screenname
$ screen -ls
There is a screen on:
    22941.screenname        (Detached)
1 Socket in /var/run/screen/S-user.

$ screen -S screenname -p 0 -X stuff "exit$(printf \\r)"
$ screen -ls
No Sockets found in /var/run/screen/S-user.

$ 

关于“stuff”的更多细节在屏幕手册页中,搜索“stuff string”

答案 1 :(得分:0)

屏幕-ls | grep分离|切-d。 -f1 | awk' {print $ 1}' | xargs kill

这会杀死所有分离的屏幕

屏幕-ls | grep pts |切-d。 -f1 | awk' {print $ 1}' | xargs kill

这会杀死所有屏幕,无论是附加还是分离都不会打扰