背景執行
另外一個功能,就是『背景執行』的功夫了。當你輸入
[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 程式。
參考來源:鳥哥網站
留言列表