bg、fg、nohup
1、bg
执行如下命令:
tail -f log.txt
此时程序是在前台运行的,将程序放到后台执行,按ctrl+z,执行结果如下:
[1]+ Stopped tail -f log.txt
执行bg命令,能够查看到他在后台运行
test@ubuntu:~/tool$ bg [1]+ tail -f log.txt &
执行jobs,能够查看到这个后台任务
test@ubuntu:~/tool$ jobs [1]+ Running tail -f log.txt &
可以通过kill命令杀掉这个任务
test@ubuntu:~/tool$ kill -9 %1 [1]+ Killed tail -f log.txt
2、fg
fg命令可以将后台任务转换为前台任务,如下:
test@ubuntu:~/tool$ fg %1 tail -f log.txt
这时按ctrl+c就可以结束tail这个命令了。
3、nohup
如果不想当命令窗口关闭时,在这个窗口中启动的程序也随之关闭的话,那么可以使用nohup命令,他得格式如下:
nohup <command> &
比如执行如下指令:
nohup tail -f log.txt &
执行bg查看:
test@ubuntu:~/tool$ bg bash: bg: job 1 already in background
执行jobs查看:
test@ubuntu:~/tool$ jobs [1]+ Running nohup tail -f log.txt &
同时在执行nohup命令的目录下会产生一个nohup.out文件,用于记录输出的内容。
如果在执行nohup命令的同时,将输出的内容重定向到一个文件中,就不会产生nohup.out文件了,比如:
nohup tail -f log.txt > test 2>&1 &
这时标准输出和标准错误输出都重定向到test文件中,不会产生nohup.out文件了。