nohup 英文全称 no hang up(不挂起),用于在系统后台不挂断地运行命令,退出终端不会影响程序的运行。
语法格式
nohup Command [ Arg … ] [ & ]
参数说明:
Command:要执行的命令。
Arg:一些参数,可以指定输出文件。
&:让命令在后台执行,终端退出后命令仍旧执行。
实际使用中碰到的例子:
nohup bash run.sh > ../rafttest_batch.log 2>&1 &
表示用bash命令执行当前目录下的脚本run.sh,并将标准错误 2 重定向到标准输出 &1 ,标准输出 &1 再被重定向输入到…/rafttest_batch.log 文件中,&
表示在后台执行,终端terminal退出后仍然执行。
2>&1 解释:
将标准错误 2 重定向到标准输出 &1 ,标准输出 &1 再被重定向输入到 runoob.log 文件中。
0 – stdin (standard input,标准输入)
1 – stdout (standard output,标准输出)
2 – stderr (standard error,标准错误输出)
如果我想提前终止上面的脚本,就需要找到它开启的进程并杀死.
ps -aux | grep "run.sh"
找到PID,
找到PID后,kill -9 进程号PID
,或者直接 kill -9 $(pgrep -f run.sh)