首页 文章

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

提问于
浏览
1

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

screen -dmS screenname ./file

这完全有效,但远程杀死它:

screen -X -S screenname exit

将回复:

No screen session found

这是因为屏幕有{session#} .

如果完成,它将起作用:

screen -X -S session#.screenname exit

有什么解决方案?我不完全确定你在启动屏幕时可以获得#会话 . 这一切都是远程完成的 .

2 回答

  • 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”

  • 0

    屏幕-ls | grep分离|切-d . -f1 | awk'{print $ 1}'| xargs杀了

    这将杀死所有分离的屏幕

    屏幕-ls | grep pts |切-d . -f1 | awk'{print $ 1}'| xargs杀了

    这将杀死所有的屏幕,无论是附加或分离不打扰

相关问题