关于screen会话
上一篇 /
下一篇 2014-04-30 14:37:29
/ 个人分类:linux
http://iceeggplant.blog.51cto.com/1446843/745240
需求:阿里云上部署服务器,长期运行,用于用户访问。
存在问题:ssh建立连接运行服务器程序,长时间无键盘鼠标操作,ssh会自动断开,终端一旦断开
,其中运行的程序退出。问题描述:
process group(进程组)由session(会话期)来管理,与控制终端连接的会话期首进程叫做控制进程(controllingprocess),关闭ssh之后,发送SIGHUP信号给控制进程,控制进程退出并导致会话期内所有进程关闭,守护进程例外,守护进程不属于sshd进程组。
nohup可以实现退出ssh之后继续运行,但是所有输出定向到nohup.out中,无法支持人机交互,无法动态查看信息,较为简陋。
启动screen:screen
退出screen:exit
查看screen:screen -ls
连接一个断开的会话:screen -r pid
其他参数:
-c file 使用配置文件file,而不使用默认的$HOME/.screenrc
-d|-D [pid.tty.host] 不开启新的screen会话,而是断开其他正在运行的screen会话
-h<行数> 指定视窗的缓冲区行数。
-m 即使目前已在会话中的screen会话,仍强制建立新的screen会话。
-r sessionowner/ [pid.tty.host] 重新连接一个断开的会话。多用户模式下连接到其他用户screen会话需要指定sessionowner,需要setuid-root权限。
-R 先试图恢复离线的会话。若找不到离线的会话,即建立新的screen会话。
-s 指定建立新screen会话时,所要执行的shell。
-S sessionname 创建screen会话时为会话指定一个名字
-v 显示版本信息。
-x 恢复之前离线的screen会话。
-ls或--list 显示目前所有的screen会话。
-wipe 检查目前所有的screen会话,并删除已经无法使用的screen会话。
收藏
举报
TAG: