一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Linux系統(tǒng)進(jìn)程管理入門指南

馬哥Linux運(yùn)維 ? 來源:博客園 ? 2025-04-22 14:34 ? 次閱讀

概念

Linux 系統(tǒng)中,進(jìn)程是正在運(yùn)行的程序的實(shí)例。理解進(jìn)程的管理、查看和控制對(duì)于系統(tǒng)管理員和開發(fā)者來說非常重要

進(jìn)程的定義:

? 進(jìn)程(Process)是程序在執(zhí)行時(shí)的一個(gè)實(shí)例。它包含了程序的代碼、數(shù)據(jù)、堆棧、環(huán)境變量等。

? 每個(gè)進(jìn)程都有一個(gè)唯一的 進(jìn)程 ID(PID),用于標(biāo)識(shí)進(jìn)程。

? 進(jìn)程可以處于不同的狀態(tài),如運(yùn)行態(tài)、就緒態(tài)、等待態(tài)、僵尸態(tài)等。

進(jìn)程監(jiān)控指令之ps

ps命令用于報(bào)告當(dāng)前系統(tǒng)的進(jìn)程狀態(tài)??梢源钆鋕ill指令隨時(shí)中斷、刪除不必要的程序。ps命令是最基本同時(shí)也是非常強(qiáng)大的進(jìn)程查看命令,使用該命令可以確定有哪些進(jìn)程正在運(yùn)行和運(yùn)行的狀態(tài)、進(jìn)程是否結(jié)束、進(jìn)程有沒有僵死、哪些進(jìn)程占用了過多的資源等等,總之大部分信息都是可以通過執(zhí)行該命令得到的.

語法

|   |   |
| --- | --- |
|   | ps[選項(xiàng)]|

常用選項(xiàng)說明

? -a:顯示所有用戶的進(jìn)程(不包括會(huì)話領(lǐng)導(dǎo)者和沒有控制終端的進(jìn)程)。

? -u:顯示進(jìn)程的用戶信息。

? -x:顯示沒有控制終端的進(jìn)程。

? -e:顯示所有進(jìn)程。

? -f:顯示長(zhǎng)格式信息,包括父進(jìn)程 ID、控制終端等。

? -l:顯示長(zhǎng)格式信息,類似于 -f,但更詳細(xì)。

? -o:自定義輸出格式,指定要顯示的字段。

? -p:指定要顯示的進(jìn)程 ID。

? -t:指定要顯示的終端。

? -U:指定要顯示的用戶。

? -G:指定要顯示的用戶組。

常用搭配

|   |   |
|---|---|
|   |ps-ef|
|   |ps-aux|
|   |ps-le|

ps -aux解析

|   |   |
| --- | --- |
|   | root@master-01:~# ps -aux | head -10 |
|   | USER     PID%CPU%MEM  VSZ  RSS TTY   STAT START  TIME COMMAND |
|   | root     10.40.017085611472?    Ss  Feb17350:48/sbin/init nopti |
|   | root     20.00.0  0  0?    S  Feb17 0:13[kthreadd] |
|   | root     30.00.0  0  0?    I< ? Feb17 ??0:00?[rcu_gp] |
| ? ? | root ? ? ? ? ??40.00.0? ? ??0? ? ?0?? ? ? ? ?I< ? Feb17 ??0:00?[rcu_par_gp] |
| ? ? | root ? ? ? ? ??60.00.0? ? ??0? ? ?0?? ? ? ? ?I< ? Feb17 ??0:00?[kworker/0:0H-kblockd] |
| ? ? | root ? ? ? ? ??80.00.0? ? ??0? ? ?0?? ? ? ? ?I< ? Feb17 ??0:00?[mm_percpu_wq] |
| ? ? | root ? ? ? ? ??90.00.0? ? ??0? ? ?0?? ? ? ? ?S ? ?Feb17 ??2:29?[ksoftirqd/0] |
| ? ? | root ? ? ? ? ?100.00.0? ? ??0? ? ?0?? ? ? ? ?I ? ?Feb17 ?53:47?[rcu_sched] |
| ? ? | root ? ? ? ? ?110.00.0? ? ??0? ? ?0?? ? ? ? ?S ? ?Feb17 ??0:08 [migration/0] |
| ? ? | ? ? |
| ? ? |?#解析 |
| ? ? | USER:表示用戶 |
| ? ? | PID:表示進(jìn)程號(hào) |
| ? ? |?%CPU:表示cpu占用率 |
| ? ? |?%MEM:表示內(nèi)存占用率 |
| ? ? | VSZ:進(jìn)程占用的虛擬內(nèi)存,單位kb |
| ? ? | RSS:進(jìn)程占用的常駐內(nèi)存,單位kb |
| ? ? | TTY:?表示進(jìn)程沒有控制終端 |
| ? ? | STAT:進(jìn)程狀態(tài) |
| ? ? | START:進(jìn)程啟動(dòng)時(shí)間 |
| ? ? | TIME:進(jìn)程累計(jì)運(yùn)行了多長(zhǎng)時(shí)間 |
| ? ? | COMMAND:進(jìn)程運(yùn)行的命令 |

進(jìn)程狀態(tài)

常用進(jìn)程基礎(chǔ)狀態(tài)

? 運(yùn)行態(tài)(Running):狀態(tài)字符R。進(jìn)程正在CPU上運(yùn)行,或者在運(yùn)行隊(duì)列中等待運(yùn)行

? 睡眠態(tài)(Sleeping):狀態(tài)字符S。進(jìn)程正在等待某些事件(如 I/O 操作、信號(hào)等)完成。進(jìn)程處于睡眠態(tài)時(shí),不會(huì)占用 CPU 時(shí)間。

? 不可中斷睡眠態(tài)(Disk Sleep):狀態(tài)字符D。進(jìn)程正在等待某些不可中斷的 I/O 操作完成,通常與磁盤 I/O 操作有關(guān)。處于這種狀態(tài)的進(jìn)程不能被信號(hào)喚醒,也不能被 kill 命令終止。

? 停止態(tài)(Stopped):狀態(tài)字符T。進(jìn)程被信號(hào)停止,通常是因?yàn)槭盏搅?SIGSTOP 或 SIGTSTP 信號(hào)。停止的進(jìn)程不會(huì)占用 CPU 時(shí)間,但可以被信號(hào)喚醒。

? 僵尸進(jìn)程(Zombie):狀態(tài)字符Z。進(jìn)程已經(jīng)完成,但其父進(jìn)程尚未讀取其狀態(tài)信息。僵尸進(jìn)程不能被終止,只能等待父進(jìn)程讀取狀態(tài)信息后自動(dòng)消失。僵尸進(jìn)程會(huì)占用系統(tǒng)資源,直到父進(jìn)程讀取其狀態(tài)信息。

? 死態(tài)(Dead):狀態(tài)字符X。進(jìn)程已經(jīng)死亡,但尚未被父進(jìn)程回收。這種狀態(tài)的進(jìn)程通常不會(huì)出現(xiàn)在 ps 的輸出中。

常用組合進(jìn)程狀態(tài)

? R+、S+、D+:帶+號(hào)的進(jìn)程,表示進(jìn)程前臺(tái)運(yùn)行

? Ss、xxxs:帶小s的進(jìn)程,進(jìn)程是父進(jìn)程

? R<、S<:帶小于號(hào)<的進(jìn)程,進(jìn)程是高優(yōu)先級(jí)進(jìn)程,優(yōu)先被cpu調(diào)度

? RN、SN:帶N的進(jìn)程,進(jìn)程是低優(yōu)先級(jí)進(jìn)程

? Sl:帶l的線程,進(jìn)程是多線程狀態(tài)

僵尸狀態(tài)的進(jìn)程

這里著重講一下僵尸狀態(tài)的進(jìn)程,僵尸狀態(tài)的進(jìn)程因?yàn)橐恍┰蛎撾x系統(tǒng)控制,但是進(jìn)程又沒有正常退出(結(jié)束),進(jìn)程運(yùn)行中但是不受控制,占用系統(tǒng)的cpu、內(nèi)存資源。

僵尸狀態(tài)排查及結(jié)束流程

1. 使用ps命令查找僵尸進(jìn)程

|   |   |
| --- | --- |
|   | ps -ef |grep'Z'|
|   |# 或者使用更詳細(xì)的命令來定位僵尸進(jìn)程及其父進(jìn)程,在輸出中,STAT 列為 Z 的進(jìn)程即為僵尸進(jìn)程 |
|   | ps -A -ostat,ppid,pid,cmd |grep-e'^[Zz]'|

2. 定位僵尸進(jìn)程的父進(jìn)程

|   |   |
|---|---|
|   |# 下面命令輸出的是僵尸進(jìn)程的父進(jìn)程PID |
|   |ps-oppid=-p<僵尸進(jìn)程PID> |

3. 終止父進(jìn)程

|   |   |
| --- | --- |
|   |# 父進(jìn)程終止后,僵尸進(jìn)程會(huì)被 init 進(jìn)程(PID 1)接管并自動(dòng)清理 |
|   |kill-9 父進(jìn)程pid |

孤兒進(jìn)程

對(duì)系統(tǒng)影響不大。
某個(gè)子進(jìn)程的父進(jìn)程因?yàn)樘厥庠驋炝?,但是子進(jìn)程還在,子進(jìn)程就是孤兒進(jìn)程。

進(jìn)程監(jiān)控指令之top、htop、iotop

top

top命令可以動(dòng)態(tài)的持續(xù)監(jiān)聽進(jìn)程的運(yùn)行狀態(tài),與此同時(shí),該命令還提供了一個(gè)交互界面,用戶可以根據(jù)需要,人性化的定制自己的輸出,進(jìn)而更清楚的了解進(jìn)程的運(yùn)行狀態(tài)

語法

|   |   |
| --- | --- |
|   |top[選項(xiàng)]|

常用選項(xiàng)說明

? -d:指定top命令每隔幾秒更新,默認(rèn)是3秒

? -b:使用批處理模式,一般和-n選項(xiàng)結(jié)合使用,用于把top命令重定向到文件中

? -p:僅查看指定ID的進(jìn)程

? -u:只監(jiān)聽某個(gè)用戶的進(jìn)程

示例:

|  |  |
|---|---|
|  |root@master-01:~#top|
|  |top-1755up60days,6:30,1user,load average:2.55,1.74,1.88|
|  |Tasks:473total, 1running,472sleeping, 0stopped, 0zombie|
|  |%Cpu(s):0.2us,0.4sy,0.0ni,99.4id,0.0wa,0.0hi,0.0si,0.0st|
|  |MiB Mem :64050.7total,29284.5free, 6963.5used,27802.7buff/cache|
|  |MiB Swap:  0.0total,  0.0free,  0.0used.55773.2availMem|
|  |  |
|  |PIDUSER  PRNI VIRT RES SHRS%CPU%MEM  TIME+COMMAND|
|  |1280024root  20 0 9440 4136 3056R 6.2 0.0 0:00.01top|
|  |1root  20 017085611472 6800S 0.0 0.0350:51.46systemd|
|  |2root  20 0   0  0  0S 0.0 0.0 0:13.76kthreadd|
|  |3root   0-20   0  0  0I 0.0 0.0 0:00.00rcu_gp|
|  |4root   0-20   0  0  0I 0.0 0.0 0:00.01rcu_par_gp|
|  |6root   0-20   0  0  0I 0.0 0.0 0:00.00kworker/0:0H-kblockd|
|  |8root   0-20   0  0  0I 0.0 0.0 0:00.00mm_percpu_wq|
|  |9root  20 0   0  0  0S 0.0 0.0 2:29.50ksoftirqd/0|
|  |10root  20 0   0  0  0I 0.0 0.053:48.12rcu_sched|
說明圖:

0ee4a976-1d15-11f0-9310-92fbcf53809c.png

htop

htop 是一個(gè)交互式的進(jìn)程查看器,類似于 top,但提供了更豐富的功能和更友好的用戶界面。它支持顏色顯示、樹狀結(jié)構(gòu)、進(jìn)程排序等功能,還可以直接在界面中操作進(jìn)程(如殺死進(jìn)程)。

安裝

|   |  |
|---| --- |
|   |在大多數(shù) Linux 發(fā)行版中,htop 可以通過包管理器安裝:|
|  | bash |
|   |復(fù)制 |
|  | # Ubuntu/Debian |
|   |sudo apt-getinstallhtop|
|  |   |
|   |# CentOS/RHEL |
|   |sudo yuminstallhtop|
|  |   |
|   |# Fedora |
|   |sudo dnfinstallhtop|
運(yùn)行htop后,你會(huì)看到類似以下的界面:

0f1e923a-1d15-11f0-9310-92fbcf53809c.png

常用快捷鍵

? F1:幫助

? F2:設(shè)置

? F3:搜索進(jìn)程

? F4:過濾進(jìn)程

? F5:樹狀視圖

? F6:排序字段

? F9:殺死進(jìn)程

? F10:退出

iotop

iotop是一個(gè)用于監(jiān)控磁盤 I/O 活動(dòng)的工具,可以幫助你了解哪些進(jìn)程正在占用磁盤 I/O 資源。它提供了實(shí)時(shí)的 I/O 使用情況,包括讀寫速度、進(jìn)程信息等。

安裝

|   |  |
|---| --- |
|   |# Ubuntu/Debian |
|   |sudo apt-getinstalliotop|
|  |   |
|   |# CentOS/RHEL |
|   |sudo yuminstalliotop|
|  |   |
|   |# Fedora |
|   |sudo dnfinstalliotop|
運(yùn)行iotop后,你會(huì)看到類似以下的界面:

0f71dce2-1d15-11f0-9310-92fbcf53809c.png

鏈接:https://www.cnblogs.com/huangSir-devops/p/18834292

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11420

    瀏覽量

    212316
  • 程序
    +關(guān)注

    關(guān)注

    117

    文章

    3817

    瀏覽量

    82164
  • 命令
    +關(guān)注

    關(guān)注

    5

    文章

    722

    瀏覽量

    22631
  • 進(jìn)程
    +關(guān)注

    關(guān)注

    0

    文章

    206

    瀏覽量

    14180

原文標(biāo)題:Linux進(jìn)程管理完全指南:從ps到htop,掌握關(guān)鍵命令

文章出處:【微信號(hào):magedu-Linux,微信公眾號(hào):馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Linux使用Systemd管理進(jìn)程服務(wù)

    systemd是目前Linux系統(tǒng)上主要的系統(tǒng)守護(hù)進(jìn)程管理工具,由于init一方面對(duì)于進(jìn)程
    發(fā)表于 11-28 09:07 ?623次閱讀

    Linux內(nèi)核進(jìn)程管理與調(diào)度:策略優(yōu)化與實(shí)踐分析

    今天給大家上點(diǎn)硬貨,關(guān)于Linux進(jìn)程管理和調(diào)度是學(xué)習(xí)和理解Linux的必學(xué)知識(shí)。為協(xié)調(diào)多個(gè)進(jìn)程 "同時(shí)" 運(yùn)行,現(xiàn)代操作
    發(fā)表于 05-08 09:42 ?1272次閱讀
    <b class='flag-5'>Linux</b>內(nèi)核<b class='flag-5'>進(jìn)程</b><b class='flag-5'>管理</b>與調(diào)度:策略優(yōu)化與實(shí)踐分析

    1-10-RHEL7-Linux系統(tǒng)進(jìn)程管理和線程的區(qū)別分析

    1-10-RHEL7-Linux系統(tǒng)進(jìn)程管理
    發(fā)表于 07-16 07:27

    Linux進(jìn)程管理

    Linux進(jìn)程管理
    發(fā)表于 05-20 10:53

    LINUX下的進(jìn)程管理問題如何解決

    基于LINUX下的進(jìn)程管理問題
    發(fā)表于 05-20 07:58

    linux系統(tǒng)進(jìn)程存在狀態(tài)及管理

    linux系統(tǒng)進(jìn)程存在狀態(tài)及管理詳解
    發(fā)表于 05-21 06:28

    Linux進(jìn)程管理

    Linux進(jìn)程管理 本章主要介紹進(jìn)程的概念、狀態(tài)、構(gòu)成以及Linux進(jìn)程的相關(guān)知識(shí)。 掌握
    發(fā)表于 04-28 14:57 ?0次下載

    防火墻原理入門

    防火墻原理入門 防火墻能增強(qiáng)機(jī)構(gòu)內(nèi)部網(wǎng)絡(luò)的安全性。防火墻系統(tǒng)決定了哪些內(nèi)部服務(wù)可以被外界訪問;外界的哪些人可以訪問內(nèi)部的服務(wù)以及哪
    發(fā)表于 08-01 10:21 ?1067次閱讀
    防火墻原<b class='flag-5'>理入門</b>

    數(shù)字信號(hào)處理入門指南

    數(shù)字信號(hào)處理入門指南什么是DSP? 數(shù)字信號(hào)處理器(DSP)采集已被數(shù)字化的現(xiàn)實(shí)世界的聲音、音頻、視頻、溫度、壓力或位置等信號(hào),并從數(shù)學(xué)的角度對(duì)其進(jìn)
    發(fā)表于 09-15 08:55 ?1398次閱讀
    數(shù)字信號(hào)處<b class='flag-5'>理入門</b><b class='flag-5'>指南</b>

    基于Linux進(jìn)程管理的詳細(xì)剖析

    上一篇,我們講到了Linux內(nèi)核開發(fā)和應(yīng)用程序開發(fā),今天我們來講講Linux重點(diǎn)部分Linux進(jìn)程管理
    的頭像 發(fā)表于 01-26 11:24 ?3867次閱讀
    基于<b class='flag-5'>Linux</b><b class='flag-5'>進(jìn)程</b><b class='flag-5'>管理</b>的詳細(xì)剖析

    Linux教程之進(jìn)程的概念和進(jìn)程管理命令的使用

    Linux是多用戶、多任務(wù)的操作系統(tǒng),它允許多個(gè)用戶登錄系統(tǒng),使用系統(tǒng)中的各種資源,由操作系統(tǒng)為每個(gè)登錄用戶建立相應(yīng)的
    發(fā)表于 11-07 11:49 ?2次下載
    <b class='flag-5'>Linux</b>教程之<b class='flag-5'>進(jìn)程</b>的概念和<b class='flag-5'>進(jìn)程</b><b class='flag-5'>管理</b>命令的使用

    Linux進(jìn)程管理:什么是進(jìn)程進(jìn)程的生命周期

    所有運(yùn)行在Linux操作系統(tǒng)中的進(jìn)程都被task_struct結(jié)構(gòu)管理,該結(jié)構(gòu)同時(shí)被叫作進(jìn)程描述。一個(gè)進(jìn)
    的頭像 發(fā)表于 02-15 14:29 ?8278次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>進(jìn)程</b><b class='flag-5'>管理</b>:什么是<b class='flag-5'>進(jìn)程</b>?<b class='flag-5'>進(jìn)程</b>的生命周期

    學(xué)會(huì)Linux進(jìn)程管理的方法

    Linux 是一種動(dòng)態(tài)系統(tǒng),能夠適應(yīng)不斷變化的計(jì)算需求。Linux 計(jì)算需求的表現(xiàn)是以進(jìn)程 的通用抽象為中心的。進(jìn)程可以是短期的(從命令行執(zhí)
    發(fā)表于 05-16 17:19 ?825次閱讀
    學(xué)會(huì)<b class='flag-5'>Linux</b><b class='flag-5'>進(jìn)程</b><b class='flag-5'>管理</b>的方法

    Linux性能及調(diào)優(yōu)指南進(jìn)程管理

    1.1 Linux進(jìn)程管理進(jìn)程管理是操作系統(tǒng)的最重要的功能之一。有效率的
    發(fā)表于 04-02 14:40 ?358次閱讀

    簡(jiǎn)要剖析Linux系統(tǒng)進(jìn)程管理機(jī)制_LINUX_操作系統(tǒng)_腳本之家

    管理命令??? Linux下,監(jiān)控和管理進(jìn)程的命令有很多,下面我們以ps、top、pstree、lsof四個(gè)最常用的指令介紹如果有效的監(jiān)控和管理
    發(fā)表于 04-02 14:46 ?628次閱讀