天天看點

10個linux 作業控制的bash 腳本執行個體

linux和unix都是多任務的作業系統,也就是說系統可以同時運作多個任務或者程序。下面我們來說一下在linux或者unix下用來處理多任務的作業控制指令。

什麼是作業控制(job

control)?

作業控制就是可以停止或者暫停正在執行的程式,還可以使暫停的程序重新開始運作。這些都是可以通過我們的shell程式來實作。

1.建立一個linux/unix

作業(job)

在這個例子中:

讓我們來多建立幾個作業:

2.列出當初正在背景運作的作業

為了檢視目前運作的作業的狀态,可以輸入下面的指令:

指令輸出如下:

3.

停止或暫停正在運作的作業

當一個程式正在運作的時候,如果想讓該程式在背景執行,可以使用[ctrl]+ [z]或者使用kill指令:

下面舉一個通過ctrl+z來暫停正在執行的ping指令:

4.

恢複暫停的作業到前台去運作

我們可以使用fg指令将暫停在背景的ping程序調到前台來運作,用法如下:

如果想操作所有以“ping”開頭的指令行作業,可以使用下面的格式:

示例輸出:

5.

恢複背景已暫停的程序繼續在背景運作

我們可以使用bg指令将背景挂起的程序重新開始執行,示例如下:

從上面示例可以看出,正在運作sleep程序被挂起了。

将挂起在背景的程序重新開始執行

6.

殺掉一個程序

為了殺掉一個linux指令的程序,我們可以輸入kill指令加上該程序的作業ID号,用法如下:

示例輸出如下:

7.為什麼shell在退出後會殺掉所有的背景作業程序

預設情況下,目前shell在退出的時候會發送一個HUP信号,殺掉所有背景作業,如果想讓作業在目前shell退出後任然能保持在背景運作,那麼可以在輸入disown指令,再退出shell程式。

8.使用nohup指令來阻止背景的程序在退出shell後被殺掉

9.

查找最近一次執行的作業的程序号

為了查找最近一次執行的作業的程序ID号,可以使用下面的特殊符号:$!

10.

wait指令等待作業的完成

wait指令用來等待給定程序ID運作完成,而後執行wait指令後的程式

更多參考:

www.osetc.com