Linux進程有2種啟動方式:1、手動啟動進程,指的是由用戶輸入命令直接啟動一個進程,根據所啟動的進程類型和性質的不同,其又可以細分為前台啟動和背景啟動兩種方式。 2.調度啟動進程(事先進行設置,根據使用者要求,進程可以自行啟動);Linux中任務可以被配置在指定的時間、日期或系統平均負載量低於指定值時自動啟動。
本教學操作環境:linux7.3系統、Dell G3電腦。
在 Linux 系統中,每個行程都有一個唯一的進程號(PID),方便系統辨識和調度進程。透過簡單地輸出運行程序的程序名,就可以運行該程序,其實也就是啟動了一個進程。
整體來說,啟動一個進程主要有2 種途徑,分別是透過手動啟動和透過調度啟動(事先進行設置,根據使用者要求,進程可以自行啟動),手動啟動也可以分為前台啟動與背景啟動。
Linux手動啟動進程
# 手動啟動進程指的是由使用者輸入命令直接啟動一個進程,根據所啟動的進程類型和性質的不同,其可細分為前台啟動和後台啟動兩種方式。
前台啟動進程
前台啟動進程是手動啟動進程最常用的方式,因為當使用者輸入一個命令並運行,就已經啟動了一個進程,而且是一個前台的進程,此時系統其實已經處於一個多進程的狀態(一個是Shell 進程,另一個是新啟動的進程)。
實際上,系統自動時就有許多進程悄悄地在後台運行,不過這裡為了方便讀者理解,並沒有將這些進程包括在內。
當我們前台啟動一個進程,並且進程沒有退出時,我們使用ps 命令,就可以看到該進程,比如,我們以前台進程的方式,運行top 命令,具體命令如下:
top
運行後,終端輸出如下:
#我們看到,此時,我們以前台的方式運行了top 進程,現在,我們使用ps 命令,查看該進程,具體命令如下:
ps -elf |grep top
運行後,終端輸出如下:
我們看到,我們使用了ps 命令,可以看到正在運行的top 進程,測試完畢,我們按下q 退出top 進程。
後台啟動進程
進程直接從後台運行,用的相對較少,除非該進程非常耗時,且用戶也不急於其運行結果的時候,例如,使用者需要啟動一個需要長時間運行的格式化文字檔案的進程,為了不讓整個Shell 在格式化過程中都處於「被佔用」 狀態,從後台啟動這個進程是比較明智的選擇。
從後台啟動進程,其實就是在指令結尾處加上一個 “&” 符號。輸入指令並執行之後,Shell 會提供給我們一個數字,此數字就是該行程的進程號。然後直接就會出現提示符,使用者就可以繼續完成其他工作,我們輸入以下程式碼,以後台運行top 命令,具體命令如下:
top &
運行後,終端輸出如下:
我們看到,此時,我們以後台的方式運行了top 進程,現在,我們使用ps 命令,查看該進程,具體命令如下:
ps -elf |grep top
運行之後,終端輸出如下:
我們看到,我們使用了ps 指令,可以看到正在後台執行的top 進程,測試完畢,我們使用 kill 指令,殺掉正在後天運行的top 進程,具體命令如下:
kill 25439
這裡的25439 是進程id,我們使用該命令,就可以殺死正在後台運行的進程。
說明
以上介紹了手工啟動的兩種方式,實際上它們有個共同的特點,就是新進程都是由當前Shell 這個進程產生的,換句話說,是Shell 創建了新進程,於是稱這種關係為進程間的父子關係,其中Shell 是父進程,新進程是子進程。
值得一提的是,一個父進程可以有多個子進程,通常子進程結束後才能繼續父進程;當然,如果是從後台啟動,父進程就不用等待子進程了。
Linux系統排程啟動程序
在 Linux 系統中,任務可以被設定在指定的時間、日期或系統平均負載量低於指定值時自動啟動。
例如,Linux 預先配置了重要係統任務的運行,以便可以使系統能夠即時被更新,系統管理員也可以使用自動化的任務來定期對重要資料進行備份。
實現調度啟動進程的方法有很多,例如透過 crontab、 at 等指令。
相關推薦:《Linux影片教學》
以上是Linux進程有幾種啟動方式的詳細內容。更多資訊請關注PHP中文網其他相關文章!