重新附加或创建命名的屏幕会话? (或持久屏幕会话)

Modified on: Sat, 15 Jun 2019 20:20:02 +0800

基本上我有一个远程屏幕会话,我希望自动重新连接到..目前我正在使用以下命令(作为iTerm书签或别名)这样做

ssh host -t screen -x thesessionname

这样可以正常工作,但如果会话因任何原因而死亡,我希望在下次连接时重新创建会话。 -Rscreen标志几乎完美:

ssh host -t screen -R -S thesessionname

..但如果会话已经附加,则会进行第二次会话(因为-R simple会查找第一个分离的会话,如果没有找到它会创建一个新的会话)

有没有办法让-R标志查找附加会话,如果thesessionname不存在,只创建一个新的?

如果这不容易做到,我怎么能在它死后自动重新创建屏幕会话?也许一个脚本通过cron运行,查找命名会话,如果它不存在则创建它?

作者:dbr

最佳答案

告诉屏幕尝试更持久:

-D -R
    Attach here and now. In detail this means: If a session is run-
    ning,  then  reattach.  If necessary detach and logout remotely
    first.  If it was not running create it and  notify  the  user.
    This is the author's favorite.

所以结合两者你应该有你的解决方案(“-DR”相当于“-D -R”):

screen -DR <yoursession> 

此外,有用的是,您可以通过以下方式查看正在运行的会话:

screen -ls

相关问答

添加新评论