windows下,由于是图形操作系统,所以只要最小化当前程序,就可以操作其他程序了,linux是字符界面环境怎么实现呢?linux下如果遇到要执行多个程序怎么办?这就是作业管理的作用,本文就是总结一下作业管理相关命令。
直接将命令放到后台执行:
tar -czpf root_tmp.tar.gz /root/tmp/* &
[1] 24874
在命令后面加上一个“&”就可以让命令直接在后台执行。
返回的信息第一个是job号,第二个是进程PID
当这个命令执行完后,就会在屏幕显示后台程序执行完成信息。
在进入vi这种编辑界面的时候屏幕不会显示相关完成信息,而是在退出vi回到命令行立即显示。
如果后台执行命令的时候有stdout或stderr,它的数据依然会输出到屏幕上,所以,需要将输出的数据传到某个文件中。如:
tar -xpcvf /root_tmp.tar.gz /root/tmp/* > /tmp/1.txt 2>&1 &
将当前job放到后台暂停:
ctrl+z
如:
vi a.txt
进入vi模式,然后ctrl+z
屏幕显示:
[1]+ Stopped /usr/bin/vim a.txt
加号表示为默认作业,用fg命令,可以把默认作业切换到前台,stopped作业状态,默认ctrl+z都是暂停作业
查看当前后台作业:
jobs [-lrs]
参数:
-l 除了列出作业号,还要列出PID
-r 仅列出正在后台运行的job
-s 仅列出正在后台暂停的job
后台作业恢复到前台:
fg 作业号
如果作业号省略则回复默认作业
把后台的某个作业回复运行,但仍然放在后台:
bg 作业号
就是这些,很简单的操作。
原文转自:http://blogread.cn/it/article/2346