我到处都看到这screen
是为了保持会话打开,以便您可以在断开连接后返回它。但对于我使用的系统来说,情况似乎并非如此ssh
。我是否理解正确,系统管理员已经瘫痪了 nohup 和 screen?有办法绕过这个吗?
这是我做的一个测试(也许问题是我自己的):
mira1:~> screen -S test COMMENT: I did ctrl-a ctrl-d
[detached from 54211.test]
mira1:~> logout
Connection to mira1.**** closed.
me:~ me$ ssh me@mira1.***
Last login: Tue Feb 9 23:21:57 2016 from client*****
mira1:~> screen -ls
No Sockets found in /var/run/screen/S-me.
编辑:在分离后和注销之前,屏幕仍然存在。如:
mira1:~> screen -S test
[detached from 59923.test]
mira1:~> ls -ltr /var/run/screen/S-me/
total 0
prw------- 1 me URP_dse 0 Feb 9 23:39 59923.test
mira1:~>
编辑 Gile 的问题 2:这是ssh
会话 #1
mira1:~> screen -ls
There is a screen on:
59923.test (09/02/16 23:39:26) (Detached)
1 Socket in /var/run/screen/S-me.
mira1:~> screen -r
[detached from 59923.test]
ssh
会话#2
mira1:~> screen -ls
There is a screen on:
59923.test (09/02/16 23:39:26) (Detached)
1 Socket in /var/run/screen/S-me.
ssh
再次进行#1 会话
mira1:~> logout
Connection to mira1.**** closed.
client-10-129-225-10:~ me$
ssh
再次会话#2(屏幕消失)
mira1:~> screen -ls
No Sockets found in /var/run/screen/S-me.
答案1
屏幕的功能可能autodetach
已关闭:
autodetach on|off
设置屏幕是否在挂起时自动分离,这会保存所有正在运行的程序,直到使用screen -r
命令恢复它们为止。关闭时,挂断信号将终止屏幕及其包含的所有进程。默认情况下,自动分离处于启用状态。
假设该设置不在您的 中$HOME/.screenrc
,则要查找的位置将在系统文件中,例如/etc/screenrc
.
另一种可能性是远程计算机被配置(在 中/etc/ssh/sshd_config
)以断开空闲用户的连接。参见示例
但在这种情况下,你无能为力。