日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux进阶之路————进程与服务管理

發布時間:2025/3/12 linux 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux进阶之路————进程与服务管理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

引言

在Linux 中,每個執行的程序(代碼)都成為一個進程,Linux 為每一個進程分配了一個唯一的 id 號 - PID

每個進程都會對應一個父進程,而這個父進程可以復制多個子進程,例如 www 服務器。

每個進程都可能以兩種方式存在 - 前臺/ 后臺,所謂前臺進程就是用戶目前的屏幕上可以進行操作的。后臺進程則是實際在操作,但由于屏幕上無法看到的進程,通常運行在管理員無法感知的后臺。

一般系統服務都是以后臺進程的形式存在,比如 sshd 服務進程,其中的 d 代表 daemon (守護進程),而且會常駐在系統中,如果不進行特殊操作,一般只有在關機時才會終止。

一、顯示系統中的進程列表

基本語法:

ps -aux

一般使用 ps 指令都會帶上參數,-a 代表 all 所有進程;-u 代表 user 以用戶格式顯示;-x 代表顯示后臺進程運行參數

字段詳解:

USER - 進程的用戶名

PID - 進程 ID

%CPU - 占用 CPU 百分比

%MEM - 占用物理內存百分比

VSZ - 使用的虛擬內存大小(單位:KB)

RSS - 使用的物理內存大小(單位:KB)

TTY - 終端名稱,縮寫

STAT - 進程狀態,S - 睡眠,s - 表示該進程是會話的先導進程,N-表示進程擁有比普通優先級更低的優先級,R-正在運行,D-短期等待,Z-僵死進程,T-被跟蹤或被停止。

START - 進程啟動時間

TIME - 進程占用 CPU 總時間

COMMAND - 進程執行時的命令行,過長的話可能會截斷顯示

另外,ps -aux 還可以通過管道符和過濾命令? “| grep 進程名”? ?來專門查找指定進程的詳情信息:

可以看到上面的途中,查看ssh 進程的信息,顯示結果中,第一行是 sshd 后臺進程,因為它在啟動時使用了 /usr/sbin/sshd 命令。而最后一行可以看到使用的是 grep ssh ,也就是我們正在查詢時開啟的一個進程。第二和第三行是通過外部的 ssh 終端設備連接進來而開啟的后臺進程,第四行則是一個 sftp 相關的后臺進程。

有趣的是,如果我通過 kill -9 殺掉 3362 進程,那么遠程終端的文件視圖就會連接中斷,同時第四行的 sftp 后臺進程也會終止:

終端命令行依然可以操作,由此可見進程列表中顯示的信息與實際的進程情況完全匹配。

二、查看父進程

還有一種查詢進程的方式是:

ps -ef

這句指令的意思是“全格式顯示所有進程,包括父進程”。一般也會配合 管道符 “|” 和 篩選指令 grep 、分頁指令 more 等一起使用。

PPID 就是父進程的 PID 。

C 代表CPU 用于計算執行優先級的因子。數值越大,表名進程是 CPU 密集型運算,執行優先級會降低;數值越小,表名進程是 IO 密集型運算,執行優先級會提高。

STIME 進程啟動的時間

TTY? 終端名稱

TIME? CPU 占用時間

CMD? 啟動進程所用的命令和參數

三、終止進程

基本語法:

kill? 參數? 進程PID

常用參數: -9。

Linux 中的 kill 指令用來終止指定進程的運行。

通常,終止一個前臺進程只需要 Ctrl + C ,但是對于一個后臺進程就需要使用 kill 指令,并且要先查看我們想要終止進程的 PID。

我們來使用 man kill 來查看一下 kill? 的使用手冊:

在描述中的第一段話意思是這樣的:

指令 kill 發送特定的信號給特定的進程或進程組。如果沒有指定信號,那么就會發送 TERM 信號。TERM 信號會殺死那些沒有捕獲這個信號的進程。對于其他的進程,可能有必要使用 KILL(9) 信號,因為這個信號不會被捕獲。

在 kill 說明中有一個參數 是 -l? 可以列出所有的可發送信號:

因此,kill -9 的含義就是強制殺死進程。

四、服務管理

服務的本質其實就是進程,但是運行于后臺,通常會監聽某個端口,等待其他程序的請求,比如mysqld,sshd 防火墻等,因此我們又稱為守護進程

4.1 service指令

在CentOS 7之前都是通過 service 指令來管理后臺系統服務,CentOS7 之后,采用systemctl 指令來進行管理。這里講解 service 的用法,后期會針對 CentOS 7 來進程補充。

基本語法:

service? 服務名? start | stop | restart | reload | status

案例:查看Linux 防火墻的情況,關閉并重啟防火墻:

可以在宿主機終端采用 telnet 指令來檢查端口是否可以連接(國慶期間又裝了一個 CentOS 6 ,ip 是200):

4.2 查看Linux自啟動服務

在命令行輸入 setup 指令并回車即可查看系統自啟動服務:

服務名稱前面的 [ ] 內如果有 * 號,說明此項服務屬于開機自啟。

除了這種方式,還可以通過/etc/init.d/服務名稱 文件來查看:

不過在這里好像只能看到系統都有哪些服務。

4.3 服務的運行級別

在前面的文章中《Linux進階之路————Linux運行級別》中,總結了關于Linux 系統運行級別的概念和知識,這里服務的運行級別也和之前的運行級別是一脈相承的。

首先我們知道,Linux 的啟動流程是如下所示的:

服務的運行級別對應著系統的運行級別,如果系統當前的運行級別是3,那么5 運行級別的服務就不會開機啟動,而需要手動操作。

通過 chkconfig 指令可以給每個服務的各個運行級別設置 自啟動/ 關閉,設置之后即生效

常用語法:

chkconfig? --list | grep? 服務名? ?# 查看服務的運行級別狀態,過濾處理可選

?chkconfig 服務名 --list? # 查看某個服務的運行級別狀態

?chkconfig? [--level? 運行級別編號]? 服務名? on | off? ? ? # 在某個運行級別下開啟或關閉自啟動,若不寫運行級別,默認全部

案例:關閉所有運行級別下的防火墻服務的自啟動:

五、進程監控

Linux 使用 top 命令來進行進程監控。

top 命令和 ps 命令有些類似,它們都用來顯示正在執行的進程,但二者又有不同,top 最大的特點在于可以定期刷新進程列表中的狀態。

基本語法:

top [選項]

可選參數:

-d 秒數? ? ? ? 指定top 命令刷新頻率,默認是 3。

-i? ? ? ? ? ? ? ? ? ?不顯示任何閑置或者僵死進程

-p? PID? ? ? ? ? 指定進程ID 的進程狀態

當進入到 top 的交互模式中時,可以通過下面一些參數,來與 top 命令進行交互:

P? ? ? ? ? ? 以CPU 使用率排序,默認是此項

M? ? ? ? ? ? 以內存使用率排序

N? ? ? ? ? ? ?以 PID 排序

q? ? ? ? ? ? ? 退出 top 命令

輸入 top 命令可以顯示上圖中的信息,默認每 3 秒刷新一次,如果按下交互鍵,在排序的同時可以立即刷新列表。輸入q 可以退出 top 。

上圖中,up 代表系統啟動了多久,2 users 表示當前用戶數,load average 應該是平均負載的意思。其余的選項可以網上搜索或見名猜意 (* ̄︶ ̄)。

六、網絡監控

6.1 netstat?

網絡監控采用 netstat 命令。

基本語法:

netstat [選項]?

常用參數:

-an? ?按一定排序輸出

-p? ? ?顯示哪個進程在調用

案例:查看sshd 的服務信息:

可以看到,如果sshd 服務是關閉的狀態的話,那么 netstat 也查詢不到 sshd 的網絡監聽狀態。

6.2 ping

不論是Windows 還是 Linux ,這個命令都是通用的。它是一種檢測網絡的工具,可以快速查看遠程主機是否可以連通,主機間的介質是否為斷,網線是否脫落或網卡故障等。

如果兩臺主機之間可以正常通信,那么就會顯示上圖所示,如果通信異常,那么就不會顯示時間等信息。

綜上,就是關于系統服務相關的知識總結,歡迎文末留言。

總結

以上是生活随笔為你收集整理的Linux进阶之路————进程与服务管理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。