终端 -- 1




概述让进程在后台运行是一个常见的场景,只需在启动任务的命令最后加上 & 或运行过程中按下 CTRL+Z,再执行 bg 即可让任务在后台运行了但是如果此时我们关掉终端,或者由于网络问题突然断开连接,那么后台任务也就随之退出了那么,怎么才能让任务在后台可靠运行呢? 只运行单个临时任务 -- nohup / setsid / &我们知道,当用户注销(logout)或者网络断开时,终端会收到 HUP(hangup)信号从而关闭其所有子进程。因此,我们的解决办法就有两种途径:要么让进程忽略 HUP 信号,要么让进程运行在新的会话里从而成为不属于此终端的子进程 nohup最常用的方法当然就是 nohup 了,顾名思义,就是让任务忽略 HUP 信号nohup sh test_task.sh > output.txt 2>&1 &  setsid除了让任务忽略 HUP 信号这样的方式以外,直接让任务脱离终端执行也就不会受到终端退出的影响了与 nohup 一样,只需在任务命令前加上 sets
#技术帖    #linux    #unix    #技术分享   



京ICP备15018585号