快捷搜索:
来自 67677新澳门手机版 2019-11-24 15:41 的文章
当前位置: 67677新澳门手机版 > 67677新澳门手机版 > 正文

让进程在后台可相信运转

 

当客户注销(logout卡塔尔可能网络断开时,终端会吸收HUP(hangup卡塔 尔(阿拉伯语:قطر‎信号进而关闭其全部子进度。因而,我们的消释办法就有二种路子:要么让进度忽视HUP 时限信号,要么让进度运转在新的对话里之所以成为不属于此终端的子进度

(hangup 名称的来由:在 Unix 的早先时期版本中,各个终端都会因而 modem 和种类通信。当顾客 logout 时,modem 就能够挂断(hang up卡塔尔电话。 同理,当 modem 断开连接时,就能够给终端发送 hangup 时域信号来通告其倒闭全部子进度卡塔尔国

 

1.nohup:让提交的指令忽略 hangup 实信号

nohup 的援救音信:

$ nohup --help

Usage: nohup COMMAND [ARG]...
  or:  nohup OPTION

Run COMMAND, ignoring hangup signals.

      --help     display this help and exit
      --version  output version information and exit

If standard input is a terminal, redirect it from an unreadable file.
If standard output is a terminal, append output to 'nohup.out' if possible,
'$HOME/nohup.out' otherwise.
If standard error is a terminal, redirect it to standard output.
To save output to FILE, use 'nohup COMMAND > FILE'.

 

应用:在要管理的指令前拉长 nohup 即可,标准输出和专门的学问错误缺省会被重定向到 nohup.out 文件中。平日大家可在终极加上"&"来将下令同时归入后台运营,也可用"> filename"来修改缺省的重定向文件路线。

nohup ping www.baidu.com &
nohup python train_model.py > console.log &

 

2.setsid:在新session实施命令(使进度不归属选拔 HUP 信号的终极的子进度,那么就不会碰着 HUP 时域信号的影响卡塔尔

setsid的赞助音讯:

$ setsid --help

Usage:
 setsid [options] <program> [arguments ...]

Run a program in a new session.

Options:
 -c, --ctty     set the controlling terminal to the current one
 -w, --wait     wait program to exit, and use the same return
 -h, --help     display this help and exit
 -V, --version  output version information and exit

 

使用:

setsid ping www.ibm.com &

 

除此以外,查看进程并结束:

$ ps -ef | grep ping
abby      3899  1632  0 14:39 ?        00:00:00 ping www.baidu.com
abby      4038  3907  0 14:43 pts/20   00:00:00 grep --color=auto ping

$ kill -9 3899

 

参考:

67677新澳门手机版 ,Linux 本事:让进程在后台可信运维的三种艺术

 

本文由67677新澳门手机版发布于67677新澳门手机版,转载请注明出处:让进程在后台可相信运转

关键词: