linux后台运行的多个方法

一、后缀 &

这种命令会至于后台运行,产生的输入还是会出现在前台,可以这样做:

my.sh > /dev/null 2>&1 &

这里解释下:一个命令后面加 > 表示将输出信息到文件,默认是将1类型(即正常输出),然后后面跟着 2>&1 表示将类型2(错误输出)也输出到和1类似一样的文件中去,/dev/null 表示空输出,不保存内容

这种做法会在中断ssh连接后中断,如果需要不中断采用第二种方式

二、nohub方法

这种方法可以在ssh连接中断后继续运行

nohub my.sh > /dev/null 2>&1 &

可以使用jobs -l查看后台进程,使用 fg 恢复

三、screen方法

这种方法更加强大,但需要安装screen,参考:screen使用

然后可以结合开机启动

参考:http://www.jianshu.com/p/3246be7c9dde

四、&和nohub区别

在Linux中可以使用以下2个命令让程序以job的方式在后端运行,以便让出终端来干其他事情。 那么nohup 与& 有什么区别呢?
# nohup a.out &
# a.out &
当关闭终端时,shell默认会发送SIGHUP信号给与该终端关联的进程,从而导致其他进程跟随终端退出。 nohup捕获了SIGHUP,并做了忽略处理,因此进程不会退出。
仅&通常没有捕获SIGHUP,因此当终端关闭时,jobs会退出。但是可以通过shell配置成退出时不发送SIGHUP,此时效果与nohup相同。
shopt | grep hupon 查看shell针对hup信号选项配置。如果为off,则表示终端退出时,shell不发送SIGHUP信号;为on,则表示会发送。

五、查看后台进程

  • jobs -l
  • 使用ps命令可以看到所有后台进程,然后使用killall 名称或者kill -9 后台进程号 查找具体的后台应用:ps -aux | grep 名称

转载于:https://my.oschina.net/kmwzjs/blog/796428

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值