十一、监控和管理Linux进程
🎹 個(gè)人簡(jiǎn)介:大家好,我是 金魚哥,CSDN運(yùn)維領(lǐng)域新星創(chuàng)作者,華為云·云享專家,阿里云社區(qū)·專家博主
📚個(gè)人資質(zhì):CCNA、HCNP、CSNA(網(wǎng)絡(luò)分析師),軟考初級(jí)、中級(jí)網(wǎng)絡(luò)工程師、RHCSA、RHCE、RHCA、RHCI、ITIL😜
💬格言:努力不一定成功,但要想成功就必須努力🔥
🎈支持我:可點(diǎn)贊👍、可收藏??、可留言📝
本章節(jié)介紹如何監(jiān)控和管理Linux進(jìn)程。章節(jié)篇幅有點(diǎn)長(zhǎng),但希望能夠好好理解并熟練掌握,是日后工作進(jìn)行排錯(cuò)經(jīng)常使用的知識(shí)點(diǎn)。
文章目錄
- 📜11.1 什么是進(jìn)程
- 📑11.1.1 從windows的角度去看待進(jìn)程
- 📑11.1.2 從linux的角度去看待進(jìn)程
- 📜11.2 進(jìn)程狀態(tài)
- 📑進(jìn)程的基本狀態(tài)
- 📑進(jìn)程更多的狀態(tài):
- 📜11.3 進(jìn)程管理和性能相關(guān)工具
- 📑11.3.1 進(jìn)程樹 pstree
- 格式:
- 常用選項(xiàng):
- 📑11.3.2 進(jìn)程信息 ps
- ps格式
- 常用選項(xiàng):
- ps 輸出屬性
- 常用組合:
- 📑11.3.3 查看進(jìn)程信息prtstat
- 格式:
- 選項(xiàng):
- 📑11.3.4 搜索進(jìn)程
- 11.3.4.1 pgrep
- 11.3.4.2 pidof
- 📑11.3.5 負(fù)載查詢 uptime
- 📑11.3.6 查看進(jìn)程實(shí)時(shí)狀態(tài) top
- 📑11.3.7 RHEL8 新特性 cockpit
- 📑11.3.8 信號(hào)發(fā)送 kill
- 📑11.3.9 作業(yè)管理
- 💡總結(jié)
📜11.1 什么是進(jìn)程
Process: 運(yùn)行中的程序的一個(gè)副本,是被載入內(nèi)存的一個(gè)指令集合,是資源分配的單位
- 進(jìn)程ID(Process ID,PID)號(hào)碼被用來標(biāo)記各個(gè)進(jìn)程
- UID、GID、和SELinux語(yǔ)境決定對(duì)文件系統(tǒng)的存取和訪問權(quán)限
- 通常從執(zhí)行進(jìn)程的用戶來繼承
- 存在生命周期
進(jìn)程創(chuàng)建:
- init:第一個(gè)進(jìn)程,從 rhel7 以后為systemd
- 進(jìn)程:都由其父進(jìn)程創(chuàng)建,fork(),父子關(guān)系,CoW:Copy On Write(寫實(shí)復(fù)制)
進(jìn)程是通過執(zhí)行一個(gè)靜態(tài)程序而觸發(fā)的。靜態(tài)的程序觸發(fā)成一個(gè)動(dòng)態(tài)的程序。
📑11.1.1 從windows的角度去看待進(jìn)程
- 打開任務(wù)管理器,觀察狀態(tài)
-
打開運(yùn)行C:\Windows\system32\cmd.exe
-
點(diǎn)擊箭頭擴(kuò)展,然后運(yùn)行一個(gè)命令,觀察
-
觀察進(jìn)程對(duì)資源的使用
因此,進(jìn)程是動(dòng)態(tài)的
-
進(jìn)程數(shù)量的統(tǒng)計(jì)
📑11.1.2 從linux的角度去看待進(jìn)程
-
通過top命令,可以獲得動(dòng)態(tài)的類任務(wù)管理器頁(yè)面
-
進(jìn)程是通過運(yùn)行一個(gè)靜態(tài)的可執(zhí)行文件,從而生成的一個(gè)動(dòng)態(tài)的進(jìn)程
范例:
#第一個(gè)終端執(zhí)行 [root@servera ~]# dd if=/dev/zero of=/dev/null #第二個(gè)終端執(zhí)行 [root@servera ~]# ps aux | grep "dd if" root 6463 98.8 0.0 7324 820 pts/1 R+ 14:55 1:52 dd if=/dev/zero of=/dev/null root 6489 0.0 0.0 12108 1088 pts/2 R+ 14:57 0:00 grep --color=auto dd if -
進(jìn)程的擁有者
進(jìn)程在讀取或者寫入文件的時(shí)候,是采用這個(gè)擁有者的身份讀取和寫入的。所以針對(duì)需要讀取和寫入的這個(gè)擁有者必須要有權(quán)限。
- 通常情況下,進(jìn)程的擁有者為執(zhí)行者。
- 比如一些服務(wù),通常進(jìn)程的擁有者會(huì)在配置文件中指定為該服務(wù)的系統(tǒng)用戶
- GUID的二進(jìn)制文件:/usr/bin/passwd
-
進(jìn)程的資源占用量
- %cpu
- %mem
📜11.2 進(jìn)程狀態(tài)
📑進(jìn)程的基本狀態(tài)
- 創(chuàng)建狀態(tài):進(jìn)程在創(chuàng)建時(shí)需要申請(qǐng)一個(gè)空白PCB(process control block進(jìn)程控制塊),向其中填寫
控制和管理進(jìn)程的信息,完成資源分配。如果創(chuàng)建工作無法完成,比如資源無法滿足,就無法被調(diào)
度運(yùn)行,把此時(shí)進(jìn)程所處狀態(tài)稱為創(chuàng)建狀態(tài) - 就緒狀態(tài):進(jìn)程已準(zhǔn)備好,已分配到所需資源,只要分配到CPU就能夠立即運(yùn)行
- 執(zhí)行狀態(tài):進(jìn)程處于就緒狀態(tài)被調(diào)度后,進(jìn)程進(jìn)入執(zhí)行狀態(tài)
- 阻塞狀態(tài):正在執(zhí)行的進(jìn)程由于某些事件(I/O請(qǐng)求,申請(qǐng)緩存區(qū)失敗)而暫時(shí)無法運(yùn)行,進(jìn)程受
到阻塞。在滿足請(qǐng)求時(shí)進(jìn)入就緒狀態(tài)等待系統(tǒng)調(diào)用 - 終止?fàn)顟B(tài):進(jìn)程結(jié)束,或出現(xiàn)錯(cuò)誤,或被系統(tǒng)終止,進(jìn)入終止?fàn)顟B(tài)。無法再執(zhí)行
📑進(jìn)程更多的狀態(tài):
- 運(yùn)行態(tài)R:running
- 睡眠態(tài)S\D:分為兩種,可中斷:interruptable,不可中斷:uninterruptable
- 停止態(tài)T:stopped,暫停于內(nèi)存,但不會(huì)被調(diào)度,除非手動(dòng)啟動(dòng)
- 僵死態(tài)Z:zombie,僵尸態(tài),結(jié)束進(jìn)程,父進(jìn)程結(jié)束前,子進(jìn)程不關(guān)閉,殺死父進(jìn)程可以關(guān)閉僵死
態(tài) 的子進(jìn)程
范例:僵尸態(tài)
[root@servera ~]# bash [root@servera ~]# echo $BASHPID 3988 [root@servera ~]# dd if=/dev/zero of=/dev/null#再開一個(gè)終端,停止父進(jìn)程bash,殺死dd進(jìn)程,使其進(jìn)入僵死態(tài) [root@servera ~]# kill -19 3988 [root@servera ~]# kill -9 4018#方法1:恢復(fù)父進(jìn)程 [root@servera ~]# kill -18 3988#方法2:殺死父進(jìn)程 [root@servera ~]# kill -9 3988📜11.3 進(jìn)程管理和性能相關(guān)工具
📑11.3.1 進(jìn)程樹 pstree
pstree 可以用來顯示進(jìn)程的父子關(guān)系,以樹形結(jié)構(gòu)顯示
來自于psmisc包
格式:
pstree [OPTION] [ PID | USER ]常用選項(xiàng):
-p 顯示PID -T 不顯示線程thread,默認(rèn)顯示線程 -u 顯示用戶切換 -H pid 高亮指定進(jìn)程及其前輩進(jìn)程范例:
[root@servera ~]# pstree 1 systemd─┬─ModemManager───2*[{ModemManager}]├─NetworkManager───2*[{NetworkManager}]├─VGAuthService├─accounts-daemon───2*[{accounts-daemon}]├─alsactl├─atd├─auditd─┬─sedispatch│ └─2*[{auditd}]├─avahi-daemon───avahi-daemon├─bluetoothd├─chronyd├─colord───2*[{colord}][root@servera ~]# pstree user1 bash───ping[root@servera ~]# pstree | grep httpd|-httpd-+-httpd| |-2*[httpd---64*[{httpd}]]| `-httpd---80*[{httpd}] [root@servera ~]# pstree -u | grep httpd|-httpd-+-httpd(apache)| |-2*[httpd(apache)---64*[{httpd}]]| `-httpd(apache)---80*[{httpd}][root@servera ~]# pstree -p systemd(1)─┬─ModemManager(1002)─┬─{ModemManager}(1041)│ └─{ModemManager}(1054)├─NetworkManager(1172)─┬─{NetworkManager}(1177)│ └─{NetworkManager}(1178)├─VGAuthService(996)├─accounts-daemon(1097)─┬─{accounts-daemon}(1102)│ └─{accounts-daemon}(1108)范例:高亮顯示前輩進(jìn)程
[root@servera ~]# pstree -pH 4207📑11.3.2 進(jìn)程信息 ps
ps 即process state,可以進(jìn)程當(dāng)前狀態(tài)的快照,默認(rèn)顯示當(dāng)前終端中的進(jìn)程,Linux系統(tǒng)各進(jìn)程的相關(guān)
信息均保存在/proc/PID目錄下的各文件中
ps格式
ps [OPTION]...支持三種選項(xiàng):
- UNIX選項(xiàng) 如: -A -e
- BSD選項(xiàng) 如: a
- GNU選項(xiàng) 如: --help
常用選項(xiàng):
a 選項(xiàng)包括所有終端中的進(jìn)程 x 選項(xiàng)包括不鏈接終端的進(jìn)程 u 選項(xiàng)顯示進(jìn)程所有者的信息 f 選項(xiàng)顯示進(jìn)程樹,相當(dāng)于 --forest k|--sort 屬性 對(duì)屬性排序,屬性前加 - 表示倒序 o 屬性… 選項(xiàng)顯示定制的信息 pid、cmd、%cpu、%mem L 顯示支持的屬性列表 -C cmdlist 指定命令,多個(gè)命令用,分隔 -L 顯示線程 -e 顯示所有進(jìn)程,相當(dāng)于-A -f 顯示完整格式程序信息 -F 顯示更完整格式的進(jìn)程信息 -H 以進(jìn)程層級(jí)格式顯示進(jìn)程相關(guān)信息 -u userlist 指定有效的用戶ID或名稱 -U userlist 指定真正的用戶ID或名稱 -g gid或groupname 指定有效的gid或組名稱 -G gid或groupname 指定真正的gid或組名稱 -p pid 顯示指pid的進(jìn)程 --ppid pid 顯示屬于pid的子進(jìn)程 -t ttylist 指定tty,相當(dāng)于 t -M 顯示SELinux信息,相當(dāng)于Zps 輸出屬性
C : ps -ef 顯示列 C 表示cpu利用率 VSZ: Virtual memory SiZe,虛擬內(nèi)存集,線性內(nèi)存 RSS: ReSident Size, 常駐內(nèi)存集 STAT:進(jìn)程狀態(tài) R:running S: interruptable sleeping D: uninterruptable sleeping T: stopped Z: zombie +: 前臺(tái)進(jìn)程 l: 多線程進(jìn)程 L:內(nèi)存分頁(yè)并帶鎖 N:低優(yōu)先級(jí)進(jìn)程 <: 高優(yōu)先級(jí)進(jìn)程 s: session leader,會(huì)話(子進(jìn)程)發(fā)起者 I:Idle kernel thread,新內(nèi)核新特性(空閑線程) ni: nice值 pri: priority 優(yōu)先級(jí) rtprio: 實(shí)時(shí)優(yōu)先級(jí) psr: processor CPU編號(hào)常用組合:
aux -ef -eFH -eo pid,tid,class,rtprio,ni,pri,psr,pcpu,stat,comm axo stat,euid,ruid,tty,tpgid,sess,pgrp,ppid,pid,pcpu,comm范例:查看進(jìn)程詳細(xì)信息
[root@servera ~]# ps -ef UID PID PPID C STIME TTY TIME CMD root 1 0 0 15:17 ? 00:00:02 /usr/lib/systemd/systemd --switched-root --system --deserialize 18 root 2 0 0 15:17 ? 00:00:00 [kthreadd] root 3 2 0 15:17 ? 00:00:00 [rcu_gp] root 4 2 0 15:17 ? 00:00:00 [rcu_par_gp] root 6 2 0 15:17 ? 00:00:00 [kworker/0:0H-kblockd][root@servera ~]# ps aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.7 180140 14504 ? Ss 15:17 0:02 /usr/lib/systemd/systemd --switched-root --system --deserialize 18 root 2 0.0 0.0 0 0 ? S 15:17 0:00 [kthreadd] root 3 0.0 0.0 0 0 ? I< 15:17 0:00 [rcu_gp] root 4 0.0 0.0 0 0 ? I< 15:17 0:00 [rcu_par_gp] root 6 0.0 0.0 0 0 ? I< 15:17 0:00 [kworker/0:0H-kblockd] root 8 0.0 0.0 0 0 ? I< 15:17 0:00 [mm_percpu_wq] root 9 0.0 0.0 0 0 ? S 15:17 0:00 [ksoftirqd/0]范例:
#查看進(jìn)程的父子關(guān)系 [root@servera ~]# ps auxf USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 2 0.0 0.0 0 0 ? S 15:17 0:00 [kthreadd] root 3 0.0 0.0 0 0 ? I< 15:17 0:00 \_ [rcu_gp] root 4 0.0 0.0 0 0 ? I< 15:17 0:00 \_ [rcu_par_gp] root 6 0.0 0.0 0 0 ? I< 15:17 0:00 \_ [kworker/0:0H-kblockd] root 8 0.0 0.0 0 0 ? I< 15:17 0:00 \_ [mm_percpu_wq] root 9 0.0 0.0 0 0 ? S 15:17 0:00 \_ [ksoftirqd/0] root 10 0.0 0.0 0 0 ? I 15:17 0:00 \_ [rcu_sched] root 11 0.0 0.0 0 0 ? S 15:17 0:00 \_ [migration/0] root 12 0.0 0.0 0 0 ? S 15:17 0:00 \_ [watchdog/0]#查看進(jìn)程的特定屬性 [root@servera ~]# ps axo pid,cmd,%mem,%cpuPID CMD %MEM %CPU1 /usr/lib/systemd/systemd -- 0.7 0.02 [kthreadd] 0.0 0.03 [rcu_gp] 0.0 0.04 [rcu_par_gp] 0.0 0.06 [kworker/0:0H-kblockd] 0.0 0.0范例:針對(duì)屬性排序,rhel6 以下版本不支持
#按CPU利用率倒序排序 [root@servera ~]# ps axo pid,cmd,%cpu,%mem k -%cpuPID CMD %CPU %MEM4568 dd if=/dev/zero of=/dev/nul 88.3 0.01 /usr/lib/systemd/systemd -- 0.0 0.72 [kthreadd] 0.0 0.03 [rcu_gp] 0.0 0.04 [rcu_par_gp] 0.0 0.06 [kworker/0:0H-kblockd] 0.0 0.0#按內(nèi)存倒序排序 [root@servera ~]# ps axo pid,cmd,%cpu,%mem --sort -%memPID CMD %CPU %MEM1860 /usr/bin/gnome-shell 0.0 8.31900 /usr/bin/Xwayland :1024 -ro 0.0 3.21929 /usr/libexec/ibus-x11 --kil 0.0 3.11365 /usr/sbin/libvirtd 0.0 2.31073 /usr/libexec/platform-pytho 0.0 2.21070 /usr/libexec/sssd/sssd_nss 0.0 2.01187 /usr/libexec/platform-pytho 0.0 1.71975 /usr/libexec/gsd-xsettings 0.0 1.51983 /usr/libexec/gsd-color 0.0 1.4📑11.3.3 查看進(jìn)程信息prtstat
可以顯示進(jìn)程信息,來自于psmisc包
格式:
prtstat [options] PID ...選項(xiàng):
-r raw 格式顯示范例:
[root@servera ~]# prtstat 1407 Process: httpd State: S (sleeping)CPU#: 0 TTY: 0:0 Threads: 1 Process, Group and Session IDsProcess ID: 1407 Parent ID: 1Group ID: 1407 Session ID: 1407T Group ID: -1Page FaultsThis Process (minor major): 1689 54Child Processes (minor major): 0 0 CPU TimesThis Process (user system guest blkio): 0.01 0.09 0.00 0.07Child processes (user system guest): 0.00 0.00 0.00 MemoryVsize: 288 MB RSS: 11 MB RSS Limit: 18446744073709 MBCode Start: 0x55b6fa9bb000 Code Stop: 0x55b6faa40f60Stack Start: 0x7fffc2b468a0Stack Pointer (ESP): 0 Inst Pointer (EIP): 0 SchedulingPolicy: normalNice: 0 RT Priority: 0 (non RT) [root@servera ~]# prtstat -r 1407pid: 1407 comm: httpdstate: S ppid: 1pgrp: 1407 session: 1407tty_nr: 0 tpgid: -1flags: 400100 minflt: 1689cminflt: 0 majflt: 54cmajflt: 0 utime: 1stime: 9 cutime: 0cstime: 0 priority: 20nice: 0 num_threads: 1itrealvalue: 0 starttime: 1054vsize: 288198656 rss: 2884rsslim: 18446744073709551615 startcode: 94244376915968endcode: 94244377464672 startstack: 140736459991200kstkesp: 0 kstkeip: 0wchan: 1 nswap: 0cnswap: 1 exit_signal: 17processor: 1 rt_priority: 0policy: 0 delayaccr_blkio_ticks: 7guest_time: 0 cguest_time: 0📑11.3.4 搜索進(jìn)程
按條件搜索進(jìn)程
- ps 選項(xiàng) | grep ‘pattern’ 靈活
- pgrep 按預(yù)定義的模式
- /sbin/pidof 按確切的程序名稱查看pid
11.3.4.1 pgrep
命令格式
pgrep [options] pattern常用選項(xiàng)
-u uid: effective user,生效者 -U uid: real user,真正發(fā)起運(yùn)行命令者 -t terminal: 與指定終端相關(guān)的進(jìn)程 -l: 顯示進(jìn)程名 -a: 顯示完整格式的進(jìn)程名 -P pid: 顯示指定進(jìn)程的子進(jìn)程范例:
[root@servera ~]# pgrep -u user1 2593 2623 2657 [root@servera ~]# pgrep -lu user1 2593 bash 2623 bash 2657 ping#錯(cuò)誤寫法,切記用戶選項(xiàng)在后 [root@servera ~]# pgrep -ul user1 pgrep: invalid user name: l[root@servera ~]# pgrep -au user1 2593 -bash 2623 bash[root@servera ~]# pgrep -aP 2623 2695 ping baidu.com[root@servera ~]# pgrep -at pts/1 2563 -bash 2592 su - user1 2593 -bash 2623 bash 2695 ping baidu.com11.3.4.2 pidof
命令格式
pidof [options] [program [...]]常用選項(xiàng):
-x 按腳本名稱查找pid范例:
[root@servera ~]# pidof httpd 1928 1927 1926 1924 1407[root@servera ~]# vim ping.sh [root@servera ~]# chmod a+x ping.sh [root@servera ~]# ./ping.sh [root@servera ~]# pidof -x ping.sh 3076📑11.3.5 負(fù)載查詢 uptime
/proc/uptime 包括兩個(gè)值,單位 s
- 系統(tǒng)啟動(dòng)時(shí)長(zhǎng)
- 空閑進(jìn)程的總時(shí)長(zhǎng)(按總的CPU核數(shù)計(jì)算)
uptime 和 w 顯示以下內(nèi)容
- 當(dāng)前時(shí)間
- 系統(tǒng)已啟動(dòng)的時(shí)間
- 當(dāng)前上線人數(shù)
- 系統(tǒng)平均負(fù)載(1、5、15分鐘的平均負(fù)載,一般不會(huì)超過1,超過5時(shí)建議警報(bào))
系統(tǒng)平均負(fù)載: 指在特定時(shí)間間隔內(nèi)運(yùn)行隊(duì)列中的平均進(jìn)程數(shù),通常每個(gè)CPU內(nèi)核的當(dāng)前活動(dòng)進(jìn)程數(shù)不大
于3,那么系統(tǒng)的性能良好。如果每個(gè)CPU內(nèi)核的任務(wù)數(shù)大于5,那么此主機(jī)的性能有嚴(yán)重問題
📑11.3.6 查看進(jìn)程實(shí)時(shí)狀態(tài) top
top 提供動(dòng)態(tài)的實(shí)時(shí)進(jìn)程狀態(tài)
有許多內(nèi)置命令
幫助:h 或 ? ,按 q 或esc 退出幫助
top命令欄位信息簡(jiǎn)介
us:用戶空間 sy:內(nèi)核空間 ni:調(diào)整nice時(shí)間 id:空閑 wa:等待IO時(shí)間 hi:硬中斷 si:軟中斷(模式切換) st:虛擬機(jī)偷走的時(shí)間top選項(xiàng):
-d # 指定刷新時(shí)間間隔,默認(rèn)為3秒 -b 全部顯示所有進(jìn)程 -n # 刷新多少次后退出示例:
top -d 5 -n 5📑11.3.7 RHEL8 新特性 cockpit
Cockpit 是rhel 8 取入的新特性,是一個(gè)基于 Web 界面的應(yīng)用,它提供了對(duì)系統(tǒng)的圖形化管理
- 監(jiān)控系統(tǒng)活動(dòng)(CPU、內(nèi)存、磁盤 IO 和網(wǎng)絡(luò)流量)
- 查看系統(tǒng)日志條目
- 查看磁盤分區(qū)的容量
- 查看網(wǎng)絡(luò)活動(dòng)(發(fā)送和接收)
- 查看用戶帳戶
- 檢查系統(tǒng)服務(wù)的狀態(tài)
- 提取已安裝應(yīng)用的信息
- 查看和安裝可用更新(如果以 root 身份登錄)并在需要時(shí)重新啟動(dòng)系統(tǒng)
- 打開并使用終端窗口
范例:安裝 cockpit
[root@servera ~]# dnf -y install cockpit [root@servera ~]# systemctl enable --now cockpit.socket [root@servera ~]# ss -altun(查看9090端口是否啟用)打開瀏覽器,訪問以下地址:
https://rhel8主機(jī):9090📑11.3.8 信號(hào)發(fā)送 kill
kill:內(nèi)部命令,可用來向進(jìn)程發(fā)送控制信號(hào),以實(shí)現(xiàn)對(duì)進(jìn)程管理,每個(gè)信號(hào)對(duì)應(yīng)一個(gè)數(shù)字,信號(hào)名稱以
SIG開頭(可省略),不區(qū)分大小寫
顯示當(dāng)前系統(tǒng)可用信號(hào):
kill -l trap -l查看幫助:man 7 signal
常用信號(hào):
1) SIGHUP 無須關(guān)閉進(jìn)程而讓其重讀配置文件 2) SIGINT 中止正在運(yùn)行的進(jìn)程;相當(dāng)于Ctrl+c 3) SIGQUIT 相當(dāng)于ctrl+\ 9) SIGKILL 強(qiáng)制殺死正在運(yùn)行的進(jìn)程 15) SIGTERM 終止正在運(yùn)行的進(jìn)程,默認(rèn)信號(hào) 18) SIGCONT 繼續(xù)運(yùn)行 19) SIGSTOP 后臺(tái)休眠指定信號(hào)的方法 :
- 信號(hào)的數(shù)字標(biāo)識(shí):1, 2, 9
- 信號(hào)完整名稱:SIGHUP,sighup
- 信號(hào)的簡(jiǎn)寫名稱:HUP,hup
向進(jìn)程發(fā)送信號(hào):
按PID:
kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec]范例
kill -1 pid … kill -n 9 pid kill -s SIGINT pid按名稱:killall 來自于psmisc包
killall可以直接使用信號(hào)控制進(jìn)程,不需要查閱pid等信息
killall [-SIGNAL] comm…pkill=killall
范例:
[root@servera ~]# kill httpd -bash: kill: httpd: arguments must be process or job IDs [root@servera ~]# killall httpd [root@servera ~]# killall httpd httpd: no process found特殊信號(hào):0信號(hào)
范例:利用 0 信號(hào)實(shí)現(xiàn)進(jìn)程的健康性檢查
[root@servera ~]# killall -0 ping [root@servera ~]# killall ping [root@servera ~]# killall -0 ping ping: no process found#此方式有局限性,即使進(jìn)程處于停止或僵尸狀態(tài),此方式仍然認(rèn)為是進(jìn)程是健康的📑11.3.9 作業(yè)管理
Linux的作業(yè)控制
- 前臺(tái)作業(yè):通過終端啟動(dòng),且啟動(dòng)后一直占據(jù)終端
- 后臺(tái)作業(yè):可通過終端啟動(dòng),但啟動(dòng)后即轉(zhuǎn)入后臺(tái)運(yùn)行(釋放終端)
讓作業(yè)運(yùn)行于后臺(tái)
- 運(yùn)行中的作業(yè): Ctrl+z
- 尚未啟動(dòng)的作業(yè): COMMAND &
后臺(tái)作業(yè)雖然被送往后臺(tái)運(yùn)行,但其依然與終端相關(guān);退出終端,將關(guān)閉后臺(tái)作業(yè)。
如果希望送往后臺(tái)后,剝離與終端的關(guān)系:
- nohup COMMAND &>/dev/null &
查看當(dāng)前終端所有作業(yè):
jobs作業(yè)控制:
fg [[%]JOB_NUM]:把指定的后臺(tái)作業(yè)調(diào)回前臺(tái) bg [[%]JOB_NUM]:讓送往后臺(tái)的作業(yè)在后臺(tái)繼續(xù)運(yùn)行 kill [%JOB_NUM]: 終止指定的作業(yè)💡總結(jié)
RHCSA認(rèn)證作為基礎(chǔ)認(rèn)證,涉及的基礎(chǔ)內(nèi)容需要大家好好進(jìn)行學(xué)習(xí)并鞏固。有良好的基礎(chǔ)才能更上一層樓。
好好加油,可以噶🤪。
以上就是【金魚哥】對(duì) 第十一章 監(jiān)控和管理Linux進(jìn)程 的簡(jiǎn)述和講解。希望能對(duì)看到此文章的小伙伴有所幫助。
💾紅帽認(rèn)證專欄系列:
RHCSA專欄:戲說 RHCSA 認(rèn)證
RHCE專欄:戲說 RHCE 認(rèn)證
此文章收錄在RHCA專欄:RHCA 回憶錄
如果這篇【文章】有幫助到你,希望可以給【金魚哥】點(diǎn)個(gè)贊👍,創(chuàng)作不易,相比官方的陳述,我更喜歡用【通俗易懂】的文筆去講解每一個(gè)知識(shí)點(diǎn)。
如果有對(duì)【運(yùn)維技術(shù)】感興趣,也歡迎關(guān)注?????? 【金魚哥】??????,我將會(huì)給你帶來巨大的【收獲與驚喜】💕💕!
總結(jié)
以上是生活随笔為你收集整理的十一、监控和管理Linux进程的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 四、纹理显示图片
- 下一篇: 微信收费的真相,你不可不知道!