Linux后台运行及不挂断相关命令
背景
我们经常会遇到这种需求:ssh到Linux服务器上,跑一个耗时比较久的任务,比如编译任务等,有时候由于网络不好,网络故障,或者不小心将跑任务的终端关闭了(也有可能是跑终端的机器异常了),导致好不容易跑了很久的任务中断退出,前面跑的白费了,又不得不重新跑!此时的你是不是很郁闷。。。
该咋解决呢?就是今天介绍的几个主角:nohup、screen、&。
command &
大家可能对这个最为熟悉,&表示将前面的 command 任务放入后台,单独起一个进程来运行,使用Ctrl + C无法中止该任务,此时你可以继续在该终端上做其他事情,但如果关闭该终端,该任务进程会跟着退出。
nohup command
nohup 是 no hung up的缩写,顾名思义就是不挂断,忽略挂起信号运行后面的 command 。所以它并没有后台运行的功能,只是会将任务永久执行,无论是否关闭终端,断开ssh等。
nohup 命令,在默认情况下(非重定向时),标准输出会输出到当前目录下 nohup.out 文件中,如果当前目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohup.out 文件中。
nohup一般常用的用法是和&结合使用(nohup + 后台启动 ):
BASH
nohup command > output.log 2>&1 &
说明:
.......
更多请关注:
作者: Shell
链接: https://notes.z-dd.online/2024/08/07/Linux%E5%90%8E%E5%8F%B0%E8%BF%90%E8%A1%8C%E5%8F%8A%E4%B8%8D%E6%8C%82%E6%96%AD%E7%9B%B8%E5%85%B3%E5%91%BD%E4%BB%A4/
来源: DD'Notes
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。