本原创文章属于《Linux大棚》博客。
博客地址为http://roclinux.cn。
文章作者为roc
希望您能通过捐款的方式支持Linux大棚博客的运行和发展。请见“关于捐款”
==
很久没发这个系列了。一直在看perl。现在回归。因为发现所有的脚本的基础都是linux命令…
===
通俗的讲,作业控制命令是用来控制一个一个任务的。
1 我想把updatedb命令(用于重新建立整盘索引的命令)放在后台运行。因为我不想眼睁睁的看着机器建立索引,我还想编会儿程序呢:
# updatedb &
[1] 23336
注释:在所要执行的命令后面加上空格,再加上&符号即可实现后台执行。所返回的[1]表示这是第一个你放到后台的任务。23336是这个任务的进程号。
2 我执行updatedb时忘了加&了,这下我怎么办?有办法:
按键盘上的ctrl-z组合键,可以将前台任务扔到后台!但务必注意的是,用ctrl-z的话,这个任务到了后台可是stopped的状态。(你都无情的把它ctrl-z到后台了,它怎么可能还会任劳任怨的继续在后台工作呢?)
3 我学会了这招,我把很多程序都放到后台执行了。我想查看一下:
# jobs
[1]+ Running updatedb &
注释:显示出了正在后台运行的任务的列表
4 我编程结束了。想把刚才的updatedb放回前台看看。
# fg %1
注释:fg中的f就表示front,前台的意思。%1表示是在jobs命令中列出的1号任务。如果是2号任务呢,我猜你知道如何写。
5 如果你用jobs命令发现有一个显示[stopped]的任务(任务号是2),我想让这个任务继续在后台执行:
# bg %2
注释:stopped的状态通常出现在用户ctrl-z之后。
6 我想让后台的任务号是3的任务取消:
# kill %3
注释:这样就杀死了任务号为3的后台任务。