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文件了。

原文地址:https://www.cnblogs.com/puroc/p/3864097.html