Linux命令五分钟

《作业控制系列》-“linux命令五分钟系列”之十

本原创文章属于《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的后台任务。

over~

5条评论

发表您的评论

请您放心,您的信息会被严格保密。必填项已标识 *