背景執行

另外一個功能,就是『背景執行』的功夫了。當你輸入
 
[root@tsai  root]#  cp  file1  file2  &


這一串指令的時候,表示將 file1 這個檔案複製為 file2 ,且放置於背景中執行,也就是說執行這一個命令之後,在這一個終端介面仍然可以做其他的工作!而當這一個指令( cp  file1  file2 )執行完畢之後,系統將會在您的終端介面顯示完成的消息!很便利喔!

多人多工的問題

多人多工確實有很多的好處,但其實也有管理上的困擾,因為使用者越來越多,將導致你管理上的困擾哩!另外,由於使用者日盛,當使用者達到一定的人數後,通常你的機器便需要升級了,因為 CPU 的運算與 RAM 的大小可能就會不敷使用!

& 與 [Ctrl]+[z]

如前所述,背景執行可以提供你在同一個終端機介面(命令模式)當中同時做很多的事情,你可以使用 & 或 [Ctrl]+[z] 來將指令放置背景中執行。例如執行 find  "/"  -name  httpd & 這一行命令,表示將尋找 httpd 這個檔案的指令放置到背景中執行的意思。另外,當你執行一個需要長時間的程式,例如執行 ftp 程式時,在程式進行當中,也可以經由按下 [Ctrl]+[z] 來將程式放置於背景中。那如何由背景中將程式在叫回螢幕上呢?請參考下一個指令 fg。
fg
fg 是將程式再叫回螢幕上顯示的一個指令,在終端模式中輸入 fg 即可。當然,如果你當時並沒有程式在執行的話,系統會告訴你,並無執行中程式(no such job)。
ps       -aux
這是察看執行中的程式的一個指令,你可以配合其參數  -aux  來執行,如下:
 
[root@tsai  root]#  ps  -aux

則系統將會列出連同系統服務的程式,在輸出的第一列中會出現 『PID』字樣,在那一欄中的咚咚就是每一個程式執行的代碼。例如下面的輸出畫面。
 
[root@tsai  root]#  ps  -aux
USER       PID %CPU %MEM   VSZ  RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.1  1324  532 ?        S    Jul16   0:14 init [3]
root         2  0.0  0.0     0    0 ?        SW   Jul16   0:05 [kflushd]
root         3  0.0  0.0     0    0 ?        SW   Jul16   0:29 [kupdate]
root         4  0.0  0.0     0    0 ?        SW   Jul16   0:00 [kpiod]
root         5  0.0  0.0     0    0 ?        SW   Jul16   0:00 [kswapd]


在上圖中, init 這個程式的 PID 為 1 。

kill
這是用來殺掉執行中程式的指令,需配合 ps 這個指令,當你執行一個 ftp 程式,但是他有點當當的時候,你可以 ps  -aux 這個指令查出  ftp  這個程式的代碼(PID),假設其 PID 為 110 ,然後輸入:
 
[root@tsai  root]# kill  110

即可殺掉這個 ftp 程式。

參考來源:鳥哥網站

arrow
arrow

    Johnson峰 發表在 痞客邦 留言(0) 人氣()