13397158231   jevian_ma@worldflying.cn

Linux下如何保证ssh链接断了命令依旧后台运行

2017-08-01 17:05:00

各位使用linux的运维人员们,在使用linux的时候是否经常遇到这样的情况。我们通过putty登录了linux,并且执行了一个需要长期执行的命令,比如说一些服务,但是一旦通过命令唤起了,putty就卡在了这个命令上,无法处理其他的事情。

当然,很多使用linux的人遇到这样的问题就会说在命令后面添加一个&不就可以不卡了吗?确实是这样,但是即使是这样,使用这个方法的人又会发现,即使使用exit想退出,也无法正常退出。如果强行关闭终端,那么刚才唤起的程序也就无法继续执行了。

那么,是否有什么方法能让我们通过putty执行一个命令后退出终端,依旧可以继续执行该命令呢?

答案当然是有的。

方法一:

使用linux自带的命令,nohup。一个命令不是直接执行,而是通过nohup执行,这样就能让这个命令直接挂在init进程下面,即使终端退出,也不影响命令执行,具体使用方式是:

nohup ./abc > con.log 2>&1 &


方法二:

使用工具screen,不少用户听说过这个工具。这个工具是可以在一个终端下模拟打开其他终端,而且可以多个终端相互切换的工具。

具体使用方法是screen -S runabc,执行这个命令后就启动了一个新的终端名叫runabc,在这个终端下运行的所有程序都与主终端无关。

直接关闭screen里产生的终端,方法为进入当前终端后直接执行exit。而在不关闭当前终端就想退出到主终端的方法则是Ctrl + a + d,使用这个方式退出,不会导致screen下的进程退出。

一个终端在没有被关闭的前提下退出,希望再次进入的方法是运行screen -r,如果当前screen只产生了一个终端,那么就会直接进入这个。如果当前screen产生了两个以上的终端,需要在-r后指定终端名。

优秀产品推荐:可编程网络IO控制器

上一篇:debian下搭建前端nginx后端apache的PHP运行环境

下一篇:debian9下配置可以用于生产环境的web服务器

联系我们

  • 地址:武汉市东湖高新开发区光谷总部国际1栋2412室
  • QQ:932773931
  • 电话:027-59761089-806
  • 手机:13397158231
  • 邮箱:jevian_ma@worldflying.cn

关注公众号

扫码添加微信

沃航(武汉)科技有限公司版权所有

备案号:鄂ICP备16014230号-1

本网站由提供CDN加速/云存储服务