目的:通过软件(xshell、putty等)远程连接服务器会遇到网络不稳定断开连接或是关闭终端导致已经在运行的程序也停止,这就使得之前运行程序所用的时间白白浪费了,通过nohup命令可以解决以上问题
命令如下:
$ nohup command(shell命令) &
nohup命令可以让你的shell命令忽略SIGHUP信号,即可以使之脱离终端运行;“&”可以让你的命令在后台运行。
使用nohup命令后会自动在当前目录下生成一个nohup.out文件,用以记录command命令的进程,可以使用
cat nohup.out
查看
# jobs //查看任务,返回任务编号n和进程号
# bg %n //将编号为n的任务转后台运行
# fg %n //将编号为n的任务转前台运行
# ctrl+z //挂起当前任务
# ctrl+c //结束当前任务
注:如果要使在前天执行任务放到后台运行,则先要用ctrl+z挂起该任务,然后用bg使之后台执行。
jobs -l 命令只能查看当前终端窗口的的进程,如果退出了当前窗口再进入终端,需要用ps命令(ps -aux | grep '用户名‘)
重定向
command > file
将输出重定向到 file(把命令输出存入文件
command < file
将输入重定向到 file(把文件内容作为命令输入
command >> file
将输出以追加的方式重定向到 file
n> file
将文件描述符为 n 的内容重定向到 file(存入文件
n>> file
将文件描述符为 n 的文件以追加的方式重定向到 file
2>&1
将标准错误重定向到标准输出
1>&2
将标准输出重定向到标准错误
详见:
![2ac270e69a3d9b7ebe870a678724e353.png](https://img-blog.csdnimg.cn/img_convert/2ac270e69a3d9b7ebe870a678724e353.png)