鳥哥教會我的一些命令

job control

因爲本週要學習進程的知識點,在上週末的時候自己就想提前去了解下,於是我便拿起鳥哥看了關於進程管理方面的一些講解,收穫頗多。

在這裏我主要談談關於工作管理方面的收穫。

    首先我來解釋下“工作管理”。這個工作管理(job control)是用在bash環境下,也就是說:當我們登錄系統取得bash shell之後,在單一終端機下同時進行多個工作的行爲管理。

1> 直接將命令丟到後臺中執行的“&”:

      我第一次見到這個命令的使用其實是前幾天,學長幫我聯網時他使用到了。

       看看上面的圖片,你會發現執行命令之後,終端上出現了一箇中【1】,它被稱爲這個命令的一個工作號碼(job number)。而後面的數字3997就是這個命令所觸發的PID。

2>  將目前的工作丟到後臺中,並使其處於暫停狀態:Ctrl + z

                    這個命令在您執行一項工作之中,突然需要臨時切換查找一個東西,這時你就需要用到這個命令來協助你的工作。例如,在編輯一個*.c文件時,突然不瞭解某個函數             或者用到的某個文件的內容時,就需要將當前工作放在後臺並暫停。

                    看了上面的圖片信息,就是在執行了Ctrl + z 之後的顯示結果,【1】表示這是第一個工作,後面的加號+表示最近一個被丟進後臺的工作,且目前在後臺下默認會被               取用的那個工作(與下面談到fg這個命令)。中文提示信息“已停止”代表目前這個工作的狀態。

3>  查看目前的後臺工作狀態:jobs [-lrs]

                   下面的圖片是在上一步操作之後進行,因此顯示只有當前一個後臺工作,狀態爲停止。

                   在這裏再說說它的參數含義:

                           -l :除了列出job number 與命令串之外,同時列出PID的號碼;

                           -r :僅列出正在後臺run的工作。

                          -s :僅列出正在後臺當中暫停的工作。

4>  將後臺工作拿到前臺來進行處理:fg

sweetheart@sweetheart-LU410:~$ fg %jobnumber

參數:

      %jobnumber : jobnumber爲工作號碼(數字)。

注:此時的%是可有可無的。

sweetheart@sweetheart-LU410:~$ jobs

[1]+       3998     已停止                     vim test.c

sweetheart@sweetheart-LU410:~$ fg

此時默認取出那個+的工作,即此時的[1]

5>  將工作在後臺的狀態變爲運行中:bg

                    前面我們講到Ctrl + z可以將目前的工作丟在後臺並暫停,那麼如何講一個工作在後臺狀態變爲運行running呢?

                    這時就需要用到命令:bg

                    注:這個命令在測試過程中需要進行的快一些,讀者可以在電腦上實現一下。

6>  管理後臺中的工作: kill

sweetheart@sweetheart-LU410:~$ kill  -signal  %jobnumber

參數:

  -l:  列出目前kill能夠使用的信號( signal )有哪些

  signal : 代表給予後面節的那個工作什麼樣的指示。

利用man 7 signal 可以得到:

                -1:重新讀取一次參數的配置文件;

                      -2:代表與鍵盤輸入Ctrl + c同樣的操作;

                -9:立刻強制刪除一個工作;

                      -15:以正常的程序方式終止一項工作,與-9是不一樣的。


注:以上只是我對這部分的一些命令的簡單陳述,詳細內容可以參考《鳥哥》第十七章的內容。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章