|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的小伙伴们!我们常常会碰着如许的成绩,用ssh登录了近程的Linux办事器,运转了一些耗时较长的义务,了局却因为收集等的不不乱招致义务半途失利。
这是因为在用户刊出(logout)大概收集断开时,终端会收到HUP(hangup)旌旗灯号从而封闭其一切子历程。
办理举措有两种:让历程疏忽HUP旌旗灯号,或让历程运转在新的会话里从而成为不属于此终真个子历程。
上面是对Linux下运转与把持背景历程的各类***的先容:
1.nohup
望文生义,nohup的用处就是让提交的下令疏忽一切的hangup旌旗灯号。
利用***:nohupCOMMAND[ARG]...
2.setsid
在一个新的会话中运转下令,从而能够避开以后终端收回的HUP旌旗灯号。
利用***:setsidCOMMAND[ARG]...
3.&
能够分离()发生一个新的子shell并在这个子shell中将义务安排到背景运转,从而不受以后shell终真个HUP旌旗灯号影响。
利用***:(COMMAND[ARG]...&)
而我一般的利用体例为:
nohup./filename.sh>filename.log2>&1&
nohup./filename.sh&>filename.log&
三点来由:
1)nohup保证历程不会被hangup旌旗灯号非常中止;
2)将义务安排到背景运转,不占用以后的终端;
3)将毛病输入也打印到log中,默许>只要尺度输入,毛病输入没有。
4.把持历程
经由过程以下下令,我们能够对放进到背景的下令举行把持
检察以后终端下的背景历程:
间接实行:jobs
将检察到的某个背景历程放回到前台:
间接输出:fg{jobid}//这里的{jobid}是经由过程jobs下令中看到的历程前[]中的数字。
将以后正在前台运转的历程放到背景运转:
先敲下快速键:ctrl+z//停息以后正在运转的历程。
再实行:bg
停止以后正在前台运转的历程:
间接敲下快速键:ctrl+c
5.disown
亡羊补牢,为没有利用nohup与setsid的历程加上疏忽HUP旌旗灯号的功效。
利用***:
将以后正在前台运转的历程放到背景运转;
然后实行disown-h%{jobid}//这里的{jobid}是经由过程jobs下令中看到的历程前[]中的数字。
6.经由过程screen来完成不乱的背景运转
screen是创建一个新的全屏假造会话终端,这个会话只要在手动输出exit的时分才会加入,在这个会话里实行的下令不必忧虑HUP旌旗灯号会对我们的历程形成影响,因而也不必给每一个下令前都加上“nohup”或“setsid”了,十分合适我们有计划的实行大批的背景义务,能够十分便利的让我们对这些背景义务举行办理。
利用***:
screen//当即创立并进进一个会话。
screen-dmS{name}//创建一个处于断开形式下的会话,并依据我们的必要指定其会话称号。
screen-list//列出一切会话。
screen-r{name}//以独有体例进进指定会话。
screen-x{name}//以并行体例进进指定会话。
ctrl+ad//输出快速键ctrl+a和d,可临时加入以后会话。
exit//进进指定会话后实行exit便可封闭该会话。
参考材料:https://www.ckuyun.com/developerworks/cn/linux/l-cn-nohup/
欢迎大家来到仓酷云论坛! |
|