linux如何跳出程序,Linux终端退出程序不退出解决方案(nohup/screen)

终端异常退出后,后台进程不关闭的解决办法:

1、使用nohup命令: nohup [argument…] & nohup可以屏蔽SIGHUP信号!2、使用 screen命令。

打开一个ssh终端,执行screen,并回车,即可创建了一个新的虚拟终端

此时在上边执行的程序,如果遇到服务器断线是不会中断的,依然会在后台运行

当新的ssh连接到服务器后,执行screen -x 就可以连接到刚才的终端了

此外,利用screen建立的终端,还具有实时演示的效果。

比如两个用户A和B,分别从北京和上海使用SSH连接到一个服务器

A先执行screen建立好虚拟终端,B执行screen -x连接上来

这时候的虚拟终端是唯一的,就像二人都在显示器前一样

A键入的命令和显示的结果,B都可以实施看到

B键入的命令和输入结果,A也可以实施看到

因此,利用screen,还可以进行远程操作演示、培训等

注意:

1) 如果多次执行screen,则会建立多个虚拟终端。

当执行screen -x的时候,则会被询问,要连接到哪一个虚拟终端,如下所示:

There are several suitable screens on:

1408.pts-0.idc (Attached)

1382.pts-4.idc (Attached)

Type “screen [-d] -r [pid.]tty.host” to resume one of them.

这个时候,要执行screen -x ,就可以连接到需要的终端,例如

screen -x 1382.pts-4.idc,即可连接到名为1382.pts-4.idc的虚拟终端上。

2) 退出虚拟终端的方法:首先用screen -x连接到终端,然后执行exit即可退出当前终端。

screen命令介绍

1. $:screen  创建一个screen(可以用screen -S ID,打开一个指定的ID session)

2. $:screen -ls 显示所有的screen会话

3. $:screen -d  脱离当前screen ,返回正常shell

4. $:screen -r 6361(用session -ls可以得到)进入指定screen

参  数:

-A  将所有的视窗都调整为目前终端机的大小。

-d  将指定的screen作业离线。

-h  指定视窗的缓冲区行数。

-m  即使目前已在作业中的screen作业,仍强制建立新的screen作业。

-r  恢复离线的screen作业。

-R  先试图恢复离线的作业。若找不到离线的作业,即建立新的screen作业。

-s  指定建立新视窗时,所要执行的shell。

-S  指定screen作业的名称。

-v  显示版本信息。

-x  恢复之前离线的screen作业。

-ls或–list  显示目前所有的screen作业。

-wipe  检查目前所有的screen作业,并删除已经无法使用的screen作业。

Screen 操作快捷键

* ctrl-a c:创建一个新的 Shell

* ctrl-a ctrl-a:在 Shell 间切换

* ctrl-a n:切换到下一个 Shell

* ctrl-a p:切换到上一个 Shell

* ctrl-a 0…9:同样是切换各个 Shell

* ctrl-a d:退出 Screen 会话

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值