让进程的运行不受终端影响的几个方法

     有时候会往集群山发送一个运行时间很长的作业,但是有可能因为用户注销的原因或者网络断开的原因导致运行的作业终止。这是因为,这些事件发生的时候,系统会收到HUP(hangup)信号,然后将用户的所有进程都终止掉。

     为了保证作业可靠的运行,有三种简单的方法:一种使用setsid命令,另外一种是使用nohup,还有就是使用(&)

     nohup使提交的进程忽略系统发送的HUP信号,用法就是在正常的命令前面加上nohup 就可以了。

     还有一种方法是让进程或者作业在一个新的会话中进行,使用setsid就达到这个目的了。使用方法和nohup相同,也是在启动作业的命令前面加上setsid即可。这时启动的进程的父进程为init进程,因此即使用户注销或者网络中断,也不会给此进程发送HUP信号。

     使用(&)的效果和setsid的效果相同,使用方法为( 启动作业的命令 &)。也将在一个新的会话中启动进程。父进程为init进程,不会收到用户注销或者网络中断的任何影响。

本文出自 “相信并热爱着” 博客,请务必保留此出处http://hipercomer.blog.51cto.com/4415661/895311

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值