最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Linux實操篇之進程管理詳解

 更新時間:2026年05月19日 16:08:14   作者:賊愛學(xué)習(xí)的小黃  
文章介紹了Windows和Linux中進程管理的相關(guān)知識,包括如何打開任務(wù)管理器、進程的父進程、進程樹等法、服務(wù)管理等法(如service、chkconfig和systemctl)以及動態(tài)監(jiān)控(如top和netstat)等內(nèi)容

進程

進程這個東西相信大家都有接觸過,我們那Windows舉例,小伙伴們平時打游戲的時候有沒有遇到黑屏的情況,反正小黃以前的電腦不太好,有時候進游戲就黑屏顯示不起來了,這時候相信大家都跟小黃一樣選擇打開任務(wù)管理器(這也是小黃人生中記得第一個快捷鍵CTRL+ALT+數(shù)字點)Windows中的任務(wù)管理器是這樣的,顯示了占用CPU等信息。

Linux中的進程

我們先來說說在Linux下如何打開我們所謂的任務(wù)管理器吧

ps -aux
-a: 顯示當(dāng)前終端的所有進程信息
-u: 以用戶的格式顯示進程信息
-x: 顯示后臺進程運行的參數(shù)
# 查看所有信息有點長,建議使用more
ps -aux  | more

接下來我們一一介紹每一列顯示信息的含義

  • USER : 此進程是由哪個用戶開啟的
  • PID : 進程的唯一ID號
  • %CPU : 進程占用CPU的百分比
  • %MEM : 進程占用內(nèi)存的百分比
  • VSZ : 進程占用虛擬內(nèi)存的大?。↘B)
  • RSS : 進程占用物理內(nèi)存的大?。↘B)
  • TTY : 終端名稱,一般是縮寫
  • STAT : 進程狀態(tài),S-睡眠,s-表示該進程是會話的先導(dǎo)進程,N-表示進程擁有比普通優(yōu)先級更低的優(yōu)先級,R-正在運行,D-短期等待,Z-僵死進程(遇到這種情況就要注意了,說明進程已經(jīng)失效卻還沒有釋放內(nèi)存),T-被跟蹤或者被停止等。
  • STATT : 進程的啟動時間
  • TIME : 進程占用CPU的總時間
  • COMMAND : 啟動進程所用的命令和參數(shù),如果過長會被截斷顯示

父子進程

這個概念應(yīng)該非常好理解,我們來看一下Linux中如何查看進程的父進程

我們通過一個應(yīng)用實例來學(xué)習(xí):以全格式顯示當(dāng)前所有的進程,查看sshd的父進程信息

sshd就是我們遠端連接服務(wù)器的一個命令

  • ps -ef 以全格式顯示當(dāng)前所有進程
  • -e:顯示所有進程
  • -f:全格式

我們還是先來看一下各列描述著什么樣一個信息

  • UID : 用戶ID
  • PID : 進程ID
  • PPID : 該進程的父進程ID
  • C : CPU用于計算執(zhí)行優(yōu)先級的因子,數(shù)值越大表示進程是CPU密集型運算,執(zhí)行優(yōu)先級會降低;數(shù)值越小,表明進程是I/O密集型運算,執(zhí)行優(yōu)先級越高
  • STIME : 進程啟動時間
  • TTY : 終端名稱,一般是縮寫
  • TIME : 進程占用CPU的總時間
  • CMD : 啟動進程所用的命令和參數(shù)

我們通過管道符就可以看到sshd的父進程ID為1

終止進程

Windows上的終止進程就是任務(wù)管理器打開,右鍵結(jié)束任務(wù),就可以把我們卡死的游戲給關(guān)掉啦。而Linux我們需要通過指令來終止進程,殺死這個進程

kill [選項] 進程號
killall 進程名稱
-9 表示強迫進程立即停止

查看進程樹

樹形結(jié)構(gòu)往往可以讓我們更直觀的查看信息

pstree [選項]
-p:顯示進程的PID
-u:顯示進程的所屬用戶

服務(wù)管理

服務(wù)本質(zhì)還是一個進程,但是是在后臺運行的,通常都會監(jiān)聽某一個端口,等待其他程序的請求,因此我們又稱之為守護進程。

service管理指令

在centos7后,很多服務(wù)不再使用service,而是使用sysytemctl,我們先來看一下service還可以對哪些服務(wù)起作用

# 使用ls -l /etc/init.d/ 查看可以作用于哪些服務(wù)
[root@yellowstarEdu01 ~]# ls -l /etc/init.d/
總用量 40
-rw-r--r--. 1 root root 18281 8月  24 2018 functions
-rwxr-xr-x. 1 root root  4569 8月  24 2018 netconsole
-rwxr-xr-x. 1 root root  7923 8月  24 2018 network
-rw-r--r--. 1 root root  1160 10月 31 2018 README

我們就使用network這個服務(wù)來學(xué)習(xí)一下service指令,network是一個網(wǎng)絡(luò)指令,通常情況下network是開啟狀態(tài)的

# service network status  查看當(dāng)前網(wǎng)絡(luò)狀態(tài)
[root@yellowstarEdu01 ~]# service network status
已配置設(shè)備:
lo ens33
當(dāng)前活躍設(shè)備:
lo ens33 virbr0
# service network stop  關(guān)閉網(wǎng)絡(luò)(在虛擬系統(tǒng)演示,關(guān)閉網(wǎng)絡(luò)之后遠程連接將斷開)
[root@yellowstarEdu01 ~]$ service network stop
Stopping network (via systemctl): 
# service network start  開啟網(wǎng)絡(luò)
[root@yellowstarEdu01 ~]$ service network start
Starting network (via systemctl):
# service network restart 重啟網(wǎng)絡(luò)

chkconfig指令

通過chkconfig命令,可以給服務(wù)的各個運行級別設(shè)置自啟動/關(guān)閉

查看服務(wù)

自啟動/關(guān)閉相當(dāng)于開機啟動或不啟動,我們通過以下命令可以查看服務(wù)的狀態(tài)

在network中我們可以看到在運行級別3,5的狀態(tài)下都設(shè)置了開機啟動網(wǎng)絡(luò)服務(wù)

[root@yellowstarEdu01 ~]# chkconfig --list

注:該輸出結(jié)果只顯示 SysV 服務(wù),并不包含
原生 systemd 服務(wù)。SysV 配置數(shù)據(jù)
可能被原生 systemd 配置覆蓋。 

      要列出 systemd 服務(wù),請執(zhí)行 'systemctl list-unit-files'。
      查看在具體 target 啟用的服務(wù)請執(zhí)行
      'systemctl list-dependencies [target]'。

netconsole      0:關(guān)    1:關(guān)    2:關(guān)    3:關(guān)    4:關(guān)    5:關(guān)    6:關(guān)
network         0:關(guān)    1:關(guān)    2:開    3:開    4:開    5:開    6:關(guān)

設(shè)置開機是否啟動

例如我們想對network服務(wù),設(shè)置運行級別為3時,不開機啟動網(wǎng)絡(luò)服務(wù),可以使用以下命令

注意:chkconfig重新設(shè)置服務(wù)自啟動或關(guān)閉,需要重啟虛擬機reboot命令

[root@yellowstarEdu01 ~]# chkconfig --level 3 network off
[root@yellowstarEdu01 ~]# chkconfig --list

注:該輸出結(jié)果只顯示 SysV 服務(wù),并不包含
原生 systemd 服務(wù)。SysV 配置數(shù)據(jù)
可能被原生 systemd 配置覆蓋。 

      要列出 systemd 服務(wù),請執(zhí)行 'systemctl list-unit-files'。
      查看在具體 target 啟用的服務(wù)請執(zhí)行
      'systemctl list-dependencies [target]'。

netconsole      0:關(guān)    1:關(guān)    2:關(guān)    3:關(guān)    4:關(guān)    5:關(guān)    6:關(guān)
network         0:關(guān)    1:關(guān)    2:開    3:關(guān)    4:開    5:開    6:關(guān)

systemctl管理指令

systemctl指令管理的服務(wù)在 /usr/lib/systemd/system查看

[root@yellowstarEdu01 ~]# ls -l  /usr/lib/systemd/system

查看服務(wù)的自啟動狀態(tài),以防火墻舉例

[root@yellowstarEdu01 ~]# systemctl list-unit-files | grep firewall
firewalld.service                             enabled 

開啟、關(guān)閉防火墻

# systemctl disable firewalld 關(guān)閉防火墻開機啟動
# systemctl enable firewalld 開啟防火墻開啟啟動
[root@yellowstarEdu01 ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@yellowstarEdu01 ~]# systemctl list-unit-files | grep firewall
firewalld.service                             disabled

查看防火墻是否自啟動

[root@yellowstarEdu01 ~]# systemctl is-enabled firewalld
disabled

firewall指令

在真正的生產(chǎn)環(huán)境中,我們不可能把防火墻關(guān)閉了,往往需要將防火墻打開,但是如果我們把防火墻打開,那么外部請求數(shù)據(jù)包就不能跟服務(wù)器監(jiān)聽端口進行通訊。

這時候我們需要打開指定的端口,例如80,22,8080等

# firewall-cmd --permanent --add-port=端口/協(xié)議		打開端口
# firewall-cmd --permanent --remove-port=端口/協(xié)議		關(guān)閉端口
[root@yellowstarEdu01 ~]# firewall-cmd --permanent --add-port=111/tcp
success
# firewall-cmd --reload 重新載入才能生效
[root@yellowstarEdu01 ~]# firewall-cmd --reload
success
# firewall-cmd --query-port=端口/協(xié)議	查看端口是否開放
[root@yellowstarEdu01 ~]# firewall-cmd --query-port=111/tcp
yes

這時候有小伙伴就要問了,怎么查看端口對應(yīng)的協(xié)議呢?只需使用以下指令即可

看111端口最前面的proto就是協(xié)議

[root@yellowstarEdu01 ~]# netstat -nap | more
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:25672           0.0.0.0:*               LISTEN      7421/beam.smp       
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      1/systemd           
tcp        0      0 0.0.0.0:6000            0.0.0.0:*               LISTEN      7581/X              
tcp        0      0 0.0.0.0:4369            0.0.0.0:*               LISTEN      7992/epmd           
tcp        0      0 192.168.122.1:53        0.0.0.0:*               LISTEN      7927/dnsmasq        
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      7426/sshd           

動態(tài)監(jiān)控系統(tǒng)

top命令,與ps命令類似,都用來顯示正在執(zhí)行的進程,區(qū)別是top可以在執(zhí)行一段時間更新正在運行的進程

基本語法

# top [選項]
-d 秒數(shù) :指定top命令每隔幾秒更新一次,不指定默認為3秒
-i top不顯示任何閑置或僵死進程
-p 通過指定監(jiān)控進程ID來僅僅監(jiān)控某個進程的狀態(tài)

來看看top命令顯示的一些信息

交互操作

P : 以CPU使用率排序,默認就是此項
M : 以內(nèi)存使用率排序
N : 以PID排序
q : 退出top

# 監(jiān)視特定用戶
先輸入u,再輸入用戶名
# 終止指定的進程
先輸入k,在輸入要結(jié)束的進程ID

監(jiān)控網(wǎng)絡(luò)狀態(tài)

基本語法

netstat [選項]
-an # 按一定順序排列輸出
-p # 顯示哪個進程在調(diào)用

查看服務(wù)名為sshd的服務(wù)的信息

netstat -anp | grep sshd

我們看倒數(shù)第二行,是root用戶登錄的進程并且是已連接,這里虛擬機中的22端口映射著我們主機的42701端口,只有兩個臺機子端口互相開放,才能建立連接。

如果我們退出root用戶,這個進程不會立即回到監(jiān)聽狀態(tài),而是轉(zhuǎn)為TIME_WAIT等待狀態(tài),持續(xù)幾分鐘,如果一直沒有重新連接,就關(guān)閉該進程

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • linux服務(wù)器上安裝Anaconda與pytorch的詳細過程

    linux服務(wù)器上安裝Anaconda與pytorch的詳細過程

    這篇文章主要介紹了linux服務(wù)器上安裝Anaconda與pytorch的詳細過程,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-10-10
  • Linux+php+apache+oracle環(huán)境搭建之CentOS下安裝Apache

    Linux+php+apache+oracle環(huán)境搭建之CentOS下安裝Apache

    Linux環(huán)境是在VMware虛擬機中搭建的,重在學(xué)習(xí),安裝的系統(tǒng)是CentOS6.5-64bit。本文主要講訴在CentOS中如何安裝APACHE。
    2014-08-08
  • 關(guān)于Linux下對于makefile的理解

    關(guān)于Linux下對于makefile的理解

    下面小編就為大家?guī)硪黄P(guān)于Linux下對于makefile的理解。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-01-01
  • linux安裝部署redis&配置遠程連接過程

    linux安裝部署redis&配置遠程連接過程

    本文詳細介紹了Redis的安裝、配置和啟動方法,包括前臺啟動和后臺啟動兩種方式,以及遠程連接的配置,同時,還簡要介紹了Redis的基本介紹、命令和性能相關(guān)知識,以及緩存穿透問題
    2025-11-11
  • 詳解Win10 Bash/WSL調(diào)試Linux環(huán)境下的.NET Core應(yīng)用程序

    詳解Win10 Bash/WSL調(diào)試Linux環(huán)境下的.NET Core應(yīng)用程序

    本篇文章主要介紹了詳解Win10 Bash/WSL調(diào)試Linux環(huán)境下的.NET Core應(yīng)用程序 ,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-04-04
  • Linux磁盤管理之LVM的使用

    Linux磁盤管理之LVM的使用

    這篇文章主要介紹了Linux磁盤管理之LVM,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01
  • Linux宿主機下/容器下如何修改進程打開的文件句柄數(shù)(open files)

    Linux宿主機下/容器下如何修改進程打開的文件句柄數(shù)(open files)

    系統(tǒng)級的max-file和進程級的ulimit-n分別控制文件句柄的最大數(shù)量,系統(tǒng)級限制整個系統(tǒng),而ulimit-n只限制單個進程,當(dāng)進程打開的文件句柄數(shù)超限時,會報“Too many files open”錯誤,可以通過特定命令查看和修改這些值
    2024-10-10
  • Linux使用logrotate來切割日志文件

    Linux使用logrotate來切割日志文件

    本篇文章主要介紹了Linux使用logrotate來切割日志文件,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-04-04
  • Linux 命令行通配符及轉(zhuǎn)義符的實現(xiàn)

    Linux 命令行通配符及轉(zhuǎn)義符的實現(xiàn)

    這篇文章主要介紹了Linux 命令行通配符及轉(zhuǎn)義符的實現(xiàn),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-11-11
  • 詳解linux系統(tǒng)目錄sys,tmp,usr,var!

    詳解linux系統(tǒng)目錄sys,tmp,usr,var!

    在本篇文章里小編給大家詳解了關(guān)于linux系統(tǒng)目錄,sys,tmp,usr,var!的相關(guān)知識點內(nèi)容,有興趣的朋友們參考下。
    2019-06-06

最新評論

乐平市| 嘉善县| 大方县| 玉环县| 文昌市| 尉犁县| 邯郸县| 信丰县| 武乡县| 桐城市| 宜丰县| 田东县| 新泰市| 虎林市| 台湾省| 城步| 娄烦县| 乐山市| 双鸭山市| 荥经县| 双鸭山市| 英吉沙县| 察雅县| 城口县| 浑源县| 胶州市| 岐山县| 万年县| 呈贡县| 南涧| 宣化县| 合山市| 青州市| 云南省| 阜阳市| 营山县| 内江市| 嫩江县| 晋州市| 博客| 共和县|