工作管理(Job Control)
在进行bash的工作管理时需要注意。
1)前台就是指你可以控制的命令行。
2)后台就是自行运行的工作,你无法使用ctrl+c终止,但可以使用fg/bg调用。
3)后台中执行的程序不能等待输入。
后台执行
在命令行后面加上&
。此时,命令行仍然可以进行别的操作。此时,当任务已经完成时,会在命令行中有所显示。但为了让自己更专注于命令行的操作,可以将后天运行程序的输出和错误输出重定向到一个输出文件中。
tar -zocvf file file2 > /tmp/log.txt 2>&1 &
暂时挂起程序
在运行程序时,按下ctrl+z可以暂时挂起程序,但不终止。
例如在vi中,可以按下ctrl+z然后在命令行中操作。
jobs 查看目前后台工作状态
jobs [-lrs]
-l: 列出job number与命令行之外,还有PID
-r:仅列出目前在后台run的工作
-s:仅列出正在后台中暂停的工作
jobs
[1] suspended (tty output) nice -n -10 vi
[2] suspended (tty output) sudo nice -n -10 vi
[3] - suspended top | grep --color=auto 'Balltree'
[4] + suspended top | grep --