進程是運行在Linux中的程式的一個實例,是管理事務的基本單元;進程擁有自己獨立的處理環境和系統資源。進程的狀態是變化的,其包括進程的創建、調度和消亡。
本教學操作環境:linux5.9.8系統、Dell G3電腦。
進程是運行在 Linux 中的程式的一個實例。
在 Linux 系統中,作業系統是透過進程去完成一個一個的任務,而進程是管理事務的基本單元。進程擁有自己獨立的處理環境(如:目前需要用到哪些環境變量,程式運行的目錄在哪,目前是哪個用戶在執行此程式等)和系統資源(如:處理器CPU 佔用率、記憶體、I /O設備、資料、程式)。
當你在 Linux 系統中執行一個程式時,系統會為這個程式建立特定的環境。這個環境包含系統運作這個程式所需的任何東西。
每當你在 Linux 中執行一個命令,它都會創建,或啟動一個新的進程。例如,當你嘗試執行指令「ls -l」來列出目錄的內容時,你就啟動了一個進程。如果有兩個終端視窗顯示在螢幕上,那麼你可能運行了兩次同樣的終端程序,這時會有兩個終端進程。
每個終端機視窗可能都運行了一個 Shell,每個運行的 Shell 都分別是一個進程。當你從 Shell 呼叫一個命令時,對應的程式就會在一個新進程中執行,當這個程式的進程執行完成後,Shell 的進程就會恢復運行。
作業系統透過被稱為 PID 或進程 ID 的數位編碼來追蹤進程。系統中的每一個行程都有一個唯一的 PID。
現在我們透過一個實例來了解 Linux 中的進程。我們在Shell 命令列下執行以下命令:
$ sleep 10 & [1] 3324
因為程式會等待10 秒,所以我們快速地在目前Shell 上尋找任何進程名為sleep 的進程:
$ ps -ef | grep sleep mozhiyan 3324 5712 cons1 17:11:46 /usr/bin/sleep
我們看到進程名為/usr/bin/sleep
的進程正運行在系統中(其PID 與我們在上一命令中得到的PID 相同)。
現在,我們嘗試並行地從3 個不同的終端視窗執行上述的sleep 命令,上述命令的輸出將類似如下所示:
$ ps -ef | grep sleep mozhiyan 896 5712 cons1 17:16:51 /usr/bin/sleep mozhiyan 5924 5712 cons1 17:16:52 /usr/bin/sleep mozhiyan 2424 5712 cons1 17:16:50 /usr/bin/sleep
我們看到sleep 程式的每一個實例都創建了一個單獨的進程。
每個 Linux 行程還有另一個 ID 號碼,也就是父行程的 ID(ppid)。系統中的每一個使用者進程都有一個父進程。
指令「ps -f」就會列出進程的 PID 和 PPID。此命令的輸出類似如下所示:
$ ps -f UID PID PPID TTY STIME COMMAND mozhiyan 4124 228 cons0 21:37:09 /usr/bin/ps mozhiyan 228 1 cons0 21:32:23 /usr/bin/bash
你在 Shell 命令列提示字元下執行的命令都把目前 Shell 的進程當作父進程。例如,你在 Shell 命令列提示字元下輸入 ls 指令,Shell 將執行 ls 指令,此時 Linux 核心會複製 Shell 的記憶體頁,然後執行 ls 指令。
在 Unix 中,每一個進程是使用 fork 和 exec 方法建立的。然而,這種方法會導致系統資源的損耗。
在Linux 中,fork 方法是使用寫時拷貝記憶體頁實現的,所以它導致的僅是時間和複製父進程的記憶體頁表所需的記憶體的損失,並且會為子進程創建一個唯一的任務結構。
寫入時拷貝模式在建立新進程時避免了建立不必要的結構拷貝。例如,使用者在Shell 命令列提示符號下輸出ls 指令,Linux 核心將會建立一個Shell 的子程序,也就是Shell 的程序是父進程,而ls 指令的行程是子程序,ls 指令的程序會指向與此Shell 相同的記憶體頁,然後子程序使用寫入時拷貝技術執行ls 指令。
進程的狀態
每個 Linux 行程都有它自己的生命週期,例如,建立、執行、結束和清除。每個進程也都有各自的狀態,顯示進程中目前正發生什麼。進程的狀態是變化的,其包括進程的創建、調度和消亡。
程序可以有以下幾種狀態:
D(不可中斷休眠狀態)-程序正在休眠且無法恢復,直到一個事件發生為止。
R(運行狀態)-進程正在運行。
S(休眠狀態)-進程沒有在運行,而在等待一個事件或是訊號。
T(停止狀態)-程序被訊號停止,例如,訊號 SIGINT 或 SIGSTOP。
Z(僵死狀態)-標記為
的進程是僵死的進程,它們之所以殘留是因為它們的父進程適當地銷毀它們。如果父程序退出,這些程序將被 init 程序銷毀。
若要查看指定進程的狀態,可以使用如下指令:
ps -C processName -o pid=,cmd,stat
例如:
$ ps -C sleep -o pid=,cmd,stat CMD STAT 9434 sleep 20 S
相關推薦:《Linux視頻教程》
以上是linux中進程什麼意思的詳細內容。更多資訊請關注PHP中文網其他相關文章!

維護模式在Linux系統管理中扮演關鍵角色,幫助進行系統修復、升級和配置變更。 1.進入維護模式可以通過GRUB菜單選擇或使用命令“sudosystemctlisolaterescue.target”。 2.在維護模式下,可以執行文件系統修復和系統更新等操作。 3.高級用法包括重置root密碼等任務。 4.常見錯誤如無法進入維護模式或掛載文件系統,可通過檢查GRUB配置和使用fsck命令修復。

使用Linux維護模式的時機和原因:1)系統啟動問題時,2)進行重大系統更新或升級時,3)執行文件系統維護時。維護模式提供安全、控制的環境,確保操作的安全性和效率,減少對用戶的影響,並增強系統的安全性。

Linux中不可或缺的命令包括:1.ls:列出目錄內容;2.cd:改變工作目錄;3.mkdir:創建新目錄;4.rm:刪除文件或目錄;5.cp:複製文件或目錄;6.mv:移動或重命名文件或目錄。這些命令通過與內核交互執行操作,幫助用戶高效管理文件和系統。

在Linux中,文件和目錄管理使用ls、cd、mkdir、rm、cp、mv命令,權限管理使用chmod、chown、chgrp命令。 1.文件和目錄管理命令如ls-l列出詳細信息,mkdir-p遞歸創建目錄。 2.權限管理命令如chmod755file設置文件權限,chownuserfile改變文件所有者,chgrpgroupfile改變文件所屬組。這些命令基於文件系統結構和用戶、組系統,通過系統調用和元數據實現操作和控制。

MaintenancemodeInuxisAspecialBootenvironmentforforcalsystemmaintenancetasks.itallowsadMinistratorStoperFormTaskSlikerSettingPassingPassingPasswords,RepairingFilesystems,andRecoveringFrombootFailuresFailuresFailuresInamInimAlenimalenimalenrenmentrent.ToEnterMainterMainterMaintErmaintErmaintEncemememodeBoode,Interlecttheboo

Linux的核心組件包括內核、文件系統、Shell、用戶空間與內核空間、設備驅動程序以及性能優化和最佳實踐。 1)內核是系統的核心,管理硬件、內存和進程。 2)文件系統組織數據,支持多種類型如ext4、Btrfs和XFS。 3)Shell是用戶與系統交互的命令中心,支持腳本編寫。 4)用戶空間與內核空間分離,確保系統穩定性。 5)設備驅動程序連接硬件與操作系統。 6)性能優化包括調整系統配置和遵循最佳實踐。

Linux系統的五個基本組件是:1.內核,2.系統庫,3.系統實用程序,4.圖形用戶界面,5.應用程序。內核管理硬件資源,系統庫提供預編譯函數,系統實用程序用於系統管理,GUI提供可視化交互,應用程序利用這些組件實現功能。

Linux的維護模式可以通過GRUB菜單進入,具體步驟為:1)在GRUB菜單中選擇內核並按'e'編輯,2)在'linux'行末添加'single'或'1',3)按Ctrl X啟動。維護模式提供了一個安全環境,適用於系統修復、重置密碼和系統升級等任務。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

Atom編輯器mac版下載
最受歡迎的的開源編輯器

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

SublimeText3 Linux新版
SublimeText3 Linux最新版

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中