您好,登錄后才能下訂單哦!
這篇“linux的進程啟動方式有哪些”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“linux的進程啟動方式有哪些”文章吧。
linux中兩種不同的進程啟動方式是:1、手工啟動進程,指的是由用戶輸入命令直接啟動一個進程,根據所啟動的進程類型和性質的不同,可以細分為前臺啟動和后臺啟動兩種方式;2、調度啟動進程,指的是任務可以被配置在指定的時間、日期或者系統平均負載量低于指定值時自動啟動。
本教程操作環境:linux7.3系統、Dell G3電腦。
總體來說,啟動一個進程主要有 2 種途徑,分別是通過手工啟動和通過調度啟動(事先進行設置,根據用戶要求,進程可以自行啟動),接下來就一一介紹這 2 中方式。
Linux手工啟動進程
手工啟動進程指的是由用戶輸入命令直接啟動一個進程,根據所啟動的進程類型和性質的不同,其又可以細分為前臺啟動和后臺啟動 2 種方式。
前臺啟動進程
這是手工啟動進程最常用的方式,因為當用戶輸入一個命令并運行,就已經啟動了一個進程,而且是一個前臺的進程,此時系統其實已經處于一個多進程的狀態(一個是 Shell 進程,另一個是新啟動的進程)。
實際上,系統自動時就有許多進程悄悄地在后臺運行,不過這里為了方便讀者理解,并沒有將這些進程包括在內。
假如啟動一個比較耗時的進程,然后再把該進程掛起,并使用 ps 命令查看,就會看到該進程在 ps 顯示列表中,例如:
[root@localhost ~]# find / -name demo.jpg <--在根目錄下查找 demo.jpg 文件,比較耗時 #此處省略了該命令的部分輸出信息 #按“CTRL+Z”組合鍵,即可將該進程掛起 [root@localhost ~]# ps <--查看正在運行的進程 PID TTY TIME CMD 2573 pts/0 00:00:00 bash 2587 pts/0 00:00:01 find 2588 pts/0 00:00:00 ps
將進程掛起,指的是將前臺運行的進程放到后臺,并且暫停其運行,有關掛起進程和 ps 命令用法,后續章節會做詳細介紹。
通過運行 ps 命令查看進程信息,可以看到,剛剛執行的 find 命令的進程號為 2587,同時 ps 進程的進程號為 2588。
后臺啟動進程
進程直接從后臺運行,用的相對較少,除非該進程非常耗時,且用戶也不急著需要其運行結果的時候,例如,用戶需要啟動一個需要長時間運行的格式化文本文件的進程,為了不使整個 Shell 在格式化過程中都處于“被占用”狀態,從后臺啟動這個進程是比較明智的選擇。
從后臺啟動進程,其實就是在命令結尾處添加一個 " &" 符號(注意,& 前面有空格)。輸入命令并運行之后,Shell 會提供給我們一個數字,此數字就是該進程的進程號。然后直接就會出現提示符,用戶就可以繼續完成其他工作,例如:
[root@localhost ~]# find / -name install.log & [1] 1920 #[1]是工作號,1920是進程號
以上介紹了手工啟動的 2 種方式,實際上它們有個共同的特點,就是新進程都是由當前 Shell 這個進程產生的,換句話說,是 Shell 創建了新進程,于是稱這種關系為進程間的父子關系,其中 Shell 是父進程,新進程是子進程。
值得一提的是,一個父進程可以有多個子進程,通常子進程結束后才能繼續父進程;當然,如果是從后臺啟動,父進程就不用等待子進程了。
Linux調度啟動進程
在 Linux 系統中,任務可以被配置在指定的時間、日期或者系統平均負載量低于指定值時自動啟動。
例如,Linux 預配置了重要系統任務的運行,以便可以使系統能夠實時被更新,系統管理員也可以使用自動化的任務來定期對重要數據進行備份。
以上就是關于“linux的進程啟動方式有哪些”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。