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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > linux >内容正文

linux

管理Linux系统中的进程

發(fā)布時(shí)間:2024/3/12 linux 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 管理Linux系统中的进程 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1.什么是進(jìn)程?

(1)進(jìn)程與程序
????在Linux系統(tǒng)當(dāng)中,觸發(fā)任何一個(gè)事件時(shí),系統(tǒng)都會(huì)將它定義成為一個(gè)進(jìn)程,并且給予這個(gè)進(jìn)程一個(gè)ID,稱為PID,同時(shí)依據(jù)啟發(fā)這個(gè)進(jìn)程的用戶與相關(guān)屬性關(guān)系,給予這個(gè)PID一組有效的權(quán)限設(shè)定。之后,這個(gè)PID能夠在系統(tǒng)上面進(jìn)行的動(dòng)作,就和這個(gè)PID的權(quán)限有關(guān)。

????程序是為了完成某種任務(wù)而設(shè)計(jì)的軟件,是存儲(chǔ)在磁盤上包含可執(zhí)行的機(jī)器指令和數(shù)據(jù)的靜態(tài)實(shí)體。
????進(jìn)程是一個(gè)程序一次執(zhí)行的過程,在操作系統(tǒng)中執(zhí)行特定的任務(wù),是一個(gè)隨執(zhí)行過程不斷變化的實(shí)體,和程序要包含指令和數(shù)據(jù)一樣,進(jìn)程也包含程序計(jì)數(shù)器和所有CPU寄存器的值,同時(shí)它的堆棧中存儲(chǔ)著如子程序參數(shù)、返回地址以及變量之類的臨時(shí)數(shù)據(jù)。當(dāng)前的執(zhí)行程序,或者說進(jìn)程,包含著當(dāng)前處理器中的活動(dòng)狀態(tài)。進(jìn)程是Linux系統(tǒng)中基本的調(diào)度單位。
????進(jìn)程具有獨(dú)立的權(quán)限與職責(zé),如果系統(tǒng)中某個(gè)進(jìn)程崩潰,它不會(huì)影響到其余的進(jìn)程,每個(gè)進(jìn)程運(yùn)行在其各自虛擬地址空間中,通過內(nèi)核控制下的通信機(jī)制,它們之間才能發(fā)生聯(lián)系。
進(jìn)程在生命期內(nèi)將使用系統(tǒng)中的資源,它利用系統(tǒng)中的CPU來執(zhí)行指令,用物理內(nèi)存來放置指令和數(shù)據(jù)。使用文件系統(tǒng)提供的功能打開并使用文件,同時(shí)直接或間接地使用物理設(shè)備。)

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

狀態(tài)定義
R可執(zhí)行狀態(tài)(RUNNING,READY)
S可喚醒睡眠狀態(tài)
D不可喚醒睡眠狀態(tài)
T暫停狀態(tài)
Z僵死態(tài)

????R:ready準(zhǔn)備完全,所有東西都已經(jīng)加載完畢,就等著cpu對(duì)它進(jìn)行處理(處在進(jìn)程隊(duì)列),running是cpu正在進(jìn)行處理的那個(gè)進(jìn)程。
????S:程序在使用cpu進(jìn)行處理時(shí),所使用的cpu時(shí)間已經(jīng)到達(dá)了限制,那么cpu就會(huì)立即把它終止掉,去處理下一個(gè)進(jìn)程,等處理完畢,再去喚醒剛才的程序。
????D:一般情況下,程序不可喚醒狀態(tài)發(fā)生在一個(gè)程序需要去加載磁盤里比較大的文件時(shí),在程序運(yùn)行時(shí)突然需要這個(gè)數(shù)據(jù)了,它需要去磁盤里面加載,當(dāng)它在沒有加載完畢之前,它的狀態(tài)是不可被喚醒的。
????T:停止?fàn)顟B(tài),打開一個(gè)gedit,編輯內(nèi)容,然后在shell界面執(zhí)行“ctrl+z”將gedit進(jìn)程打入后臺(tái),gedit編輯任務(wù)就暫停了(一個(gè)進(jìn)程停止不等于進(jìn)程結(jié)束)。
????Z:在系統(tǒng)當(dāng)中,程序在運(yùn)行過程中,會(huì)用到系統(tǒng)資源,程序結(jié)束后,程序所占用的系統(tǒng)資源應(yīng)該全部被釋放掉。
????有一類程序:這個(gè)程序本身已經(jīng)結(jié)束了,但它所使用到的系統(tǒng)資源還抓著不放,這樣的進(jìn)程狀態(tài)叫做僵死態(tài)。一般情況下,是因?yàn)橄到y(tǒng)當(dāng)中的程序在編寫時(shí)候bug所導(dǎo)致的,就是它在結(jié)束以后仍然持續(xù)的去抓著系統(tǒng)當(dāng)中的資源不放。
(3)線程與進(jìn)程的區(qū)別在哪里?
????線程是程序調(diào)用的最小單位;進(jìn)程是資源調(diào)用的最小單位。
????進(jìn)程和進(jìn)程之間的溝通,因?yàn)橄到y(tǒng)資源分配問題,溝通不容易,為了使資源調(diào)用更加快捷,所以提出了線程;
????線程和線程之間的數(shù)據(jù)是互通的,它們共用了一部分環(huán)境變量,使得線程和線程之間的溝通更快捷一點(diǎn)。

2.進(jìn)程查看

(1)圖形方式查看:gnome-system-monitor




(2)進(jìn)程查看命令ps:靜態(tài)查看進(jìn)程信息

pstree 查看進(jìn)程樹

系統(tǒng)啟動(dòng)后,systemd為初始化程序,不會(huì)自己關(guān)閉結(jié)束自己,只有關(guān)機(jī)才可以,或者結(jié)束所有子進(jìn)程后,該初始化進(jìn)程才會(huì)被關(guān)閉;
一般由初始化程序來控制其它進(jìn)程的開始和結(jié)束;
并不是父級(jí)進(jìn)程結(jié)束以后子進(jìn)程一定會(huì)結(jié)束,剩下的子進(jìn)程被稱為孤兒進(jìn)程
ps自己所在shell中運(yùn)行的進(jìn)程
直接執(zhí)行不加任何選項(xiàng)的ps命令時(shí),則只顯示當(dāng)前用戶會(huì)話中打開的進(jìn)程。
PID表示該進(jìn)程的唯一ID號(hào)
TTY表示該進(jìn)程在哪個(gè)終端上運(yùn)行。不是從終端啟動(dòng)的進(jìn)程或者與終端機(jī)無關(guān)的進(jìn)程顯示為 ?
TIME該進(jìn)程使用CPU的累計(jì)時(shí)間
CMD該進(jìn)程所運(yùn)行的命令

[root@workstation Desktop]# ps PID TTY TIME CMD2549 pts/0 00:00:00 bash2753 pts/0 00:00:00 ps

ps a 在shell中運(yùn)行的所有進(jìn)程,包括shell的環(huán)境bash

[root@workstation Desktop]# ps aPID TTY STAT TIME COMMAND1155 tty1 Ssl+ 0:00 /usr/libexec/gdm-wayland-session gnome-session --auto1239 tty1 Sl+ 0:00 /usr/libexec/gnome-session-binary --autostart /usr/sh1279 tty1 Sl+ 0:05 /usr/bin/gnome-shell2328 tty2 SNl+ 0:00 /usr/libexec/tracker-miner-fs2350 tty2 Sl 0:00 /usr/libexec/ibus-engine-simple2549 pts/0 Ss 0:00 bash3039 pts/0 R+ 0:00 ps a [root@workstation Desktop]#

ps -a 在shell中運(yùn)行的所有進(jìn)程,不包括shell環(huán)境本身信息bash

[root@workstation Desktop]# ps -aPID TTY TIME CMD1239 tty1 00:00:00 gnome-session-b1279 tty1 00:00:05 gnome-shell2316 tty2 00:00:00 seapplet2325 tty2 00:00:00 tracker-miner-a2328 tty2 00:00:00 tracker-miner-f2350 tty2 00:00:00 ibus-engine-sim2768 pts/0 00:00:00 ps [root@workstation Desktop]#

ps -u 以用戶為歸類來顯示進(jìn)程狀態(tài)信息

字段解釋
USER用戶名稱
PID進(jìn)程ID
%CPUCPU用量百分比
%MEM內(nèi)存用量百分比
VSZ占用虛擬內(nèi)存大小
RSS常駐內(nèi)存集大小
TTY字符終端
STAT進(jìn)程狀態(tài)
START運(yùn)行時(shí)間
TIME占用cpu時(shí)間
COMMAND進(jìn)程名稱
[root@workstation Desktop]#ps -u USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1893 0.0 0.1 225392 2012 ttyS0 Ss+ 04:01 0:00 /sbin/agetty -o root 1932 0.0 0.5 526856 10216 tty2 Ssl+ 04:01 0:00 /usr/libexec/gd root 1936 0.2 3.5 541376 67056 tty2 Sl+ 04:01 0:01 /usr/libexec/Xo root 1967 0.0 0.7 918868 14364 tty2 Sl+ 04:01 0:00 /usr/libexec/gn root 2057 1.4 11.9 3620288 223156 tty2 Sl+ 04:01 0:08 /usr/bin/gnome-

ps -e 顯示所有進(jìn)程信息,與-A選項(xiàng)功能相同

[root@workstation Desktop]# ps -ePID TTY STAT TIME COMMAND1893 ttyS0 Ss+ 0:00 /sbin/agetty -o -p -- \u --keep-baud 115200,38400,9601932 tty2 Ssl+ 0:00 /usr/libexec/gdm-x-session --run-script env GNOME_SHE1936 tty2 Rl+ 0:01 /usr/libexec/Xorg vt2 -displayfd 3 -auth /run/user/0/1967 tty2 Sl+ 0:00 /usr/libexec/gnome-session-binary --session gnome-cla2057 tty2 Sl+ 0:09 /usr/bin/gnome-shell MODULES_RUN_QUARANTINE=LD_LIBRAR2103 tty2 Sl 0:00 ibus-daemon --xim --panel disable MODULES_RUN_QUARANT2107 tty2 Sl 0:00 /usr/libexec/ibus-dconf MODULES_RUN_QUARANTINE=LD_LIB

ps x 顯示所有與終端無關(guān)進(jìn)程

[root@workstation Desktop]# ps xPID TTY STAT TIME COMMAND1 ? Ss 0:02 /usr/lib/systemd/systemd --switched-root --system --d2 ? S 0:00 [kthreadd]3 ? I< 0:00 [rcu_gp]4 ? I< 0:00 [rcu_par_gp]6158 ? I 0:00 [kworker/1:0-xfs-cil/vda1]6264 ? I 0:00 [kworker/1:1-xfs-reclaim/vda1]6289 ? S 0:00 sleep 606290 pts/0 R+ 0:00 ps x [root@workstation Desktop]#

ps f 層級(jí)結(jié)構(gòu)顯示進(jìn)程信息

[root@workstation Desktop]# ps fPID TTY STAT TIME COMMAND2549 pts/0 Ss 0:00 bash6306 pts/0 R+ 0:00 \_ ps f1932 tty2 Ssl+ 0:00 /usr/libexec/gdm-x-session --run-script env GNOME_SHE1936 tty2 Sl+ 0:08 \_ /usr/libexec/Xorg vt2 -displayfd 3 -auth /run/use1967 tty2 Sl+ 0:00 \_ /usr/libexec/gnome-session-binary --session gnome2057 tty2 Sl+ 0:49 \_ /usr/bin/gnome-shell2103 tty2 Sl 0:00 | \_ ibus-daemon --xim --panel disable2107 tty2 Sl 0:00 | \_ /usr/libexec/ibus-dconf2108 tty2 Sl 0:00 | \_ /usr/libexec/ibus-extension-gtk32350 tty2 Sl 0:00 | \_ /usr/libexec/ibus-engine-simple2186 tty2 Sl+ 0:00 \_ /usr/libexec/gsd-power2187 tty2 Sl+ 0:00 \_ /usr/libexec/gsd-print-notifications

ps -f 顯示完整格式信息

[root@workstation Desktop]# ps -f UID PID PPID C STIME TTY TIME CMD root 2549 2542 0 04:01 pts/0 00:00:00 bash root 6525 2549 0 07:38 pts/0 00:00:00 ps -f [root@workstation Desktop]#

ps -o 顯示進(jìn)程的指定信息

(3)常用ps組合命令查看進(jìn)程
ps aux 顯示系統(tǒng)當(dāng)中的所有進(jìn)程并顯示進(jìn)程用戶

[root@workstation Desktop]# ps aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.7 178920 13636 ? Ss 04:00 0:02 /usr/lib/system root 2 0.0 0.0 0 0 ? S 04:00 0:00 [kthreadd] root 3 0.0 0.0 0 0 ? I< 04:00 0:00 [rcu_gp] root 4 0.0 0.0 0 0 ? I< 04:00 0:00 [rcu_par_gp] root 6 0.0 0.0 0 0 ? I< 04:00 0:00 [kworker/0:0H-k root 8 0.0 0.0 0 0 ? I< 04:00 0:00 [mm_percpu_wq] root 9 0.0 0.0 0 0 ? S 04:00 0:00 [ksoftirqd/0] root 6576 0.0 0.0 0 0 ? I 07:39 0:00 [kworker/1:1-ev root 6632 0.0 0.0 217004 708 ? S 07:42 0:00 sleep 60 root 6633 0.0 0.2 266924 3848 pts/0 R+ 07:43 0:00 ps aux [root@workstation Desktop]#

ps ax 顯示當(dāng)前系統(tǒng)中的所有進(jìn)程(在此只截取一部分進(jìn)程代碼,以上同是)

[root@workstation Desktop]# ps axPID TTY STAT TIME COMMAND1 ? Ss 0:02 /usr/lib/systemd/systemd --switched-root --system --d2 ? S 0:00 [kthreadd]3 ? I< 0:00 [rcu_gp]4 ? I< 0:00 [rcu_par_gp]6576 ? I 0:00 [kworker/1:1-events_power_efficient]6656 ? S 0:00 sleep 606657 pts/0 R+ 0:00 ps ax [root@workstation Desktop]#

(4)進(jìn)程排序
命令格式:ps ax --sort=要顯示的內(nèi)容
顯示cpu使用量排在前五的pid:ps axo pid,comm,%cpu --sort=-%cpu | head -n 6

(5)進(jìn)程的stat列顯示的信息意義

S進(jìn)程狀態(tài)
s沒有父進(jìn)程,頂級(jí)進(jìn)程
l在內(nèi)存中有鎖定空間(進(jìn)程結(jié)束前不會(huì)被系統(tǒng)回收)
+正在前臺(tái)運(yùn)行的進(jìn)程
N進(jìn)程優(yōu)先級(jí)低
<進(jìn)程優(yōu)先級(jí)高

(6)pgrep顯示指定信息進(jìn)程

命令解釋
pgrep -u uid顯示指定用戶進(jìn)程
pgrep -U name顯示指定用戶進(jìn)程
pgrep -t tty顯示指定終端進(jìn)程
pgrep -l顯示進(jìn)程名稱
pgrep -a顯示完整格式進(jìn)程名
pgrep -P pid顯示指定進(jìn)程的子進(jìn)程

超級(jí)用戶執(zhí)行一個(gè)切換到普通用戶命令的進(jìn)程

pgrep -u 1000 查看用戶1000進(jìn)程號(hào)(pid)



普通用戶student執(zhí)行一個(gè)watch進(jìn)程

pgrep -P 6808(父進(jìn)程student進(jìn)程號(hào))查看子進(jìn)程watch的進(jìn)程號(hào)

(7)pidof根據(jù)進(jìn)程名稱獲取pid
超級(jí)用戶觸發(fā)watch進(jìn)程

pidof watch 獲取watch進(jìn)程pid

(8)top:動(dòng)態(tài)觀察進(jìn)程變化
相比于ps是取一個(gè)時(shí)間點(diǎn)的進(jìn)程狀態(tài),top則可以持續(xù)偵測(cè)進(jìn)程運(yùn)作的狀態(tài)!
top內(nèi)部參數(shù)

PCPU百分比排序
M內(nèi)存百分比
T累計(jì)占用cpu時(shí)間
l開啟/關(guān)掉uptime信息
t開啟/關(guān)閉task&cpu信息
s調(diào)整刷新頻率
k終止進(jìn)程
u查看指定用戶進(jìn)程
r給與某個(gè)pid重新制定一個(gè)nice值
q離開top軟件的按鍵

top命令參數(shù)

-d后面可以接秒數(shù),就是整個(gè)進(jìn)程畫面更新的秒數(shù)。預(yù)設(shè)是3秒
-b以批次方式顯示
-n與-b搭配,顯示批次數(shù)量
-p指定某些個(gè)PID來進(jìn)行觀察檢測(cè)


top主要分為兩個(gè)部分,上半部分為整個(gè)系統(tǒng)的資源使用狀態(tài),下半部分是每個(gè)process使用的資源情況。
top顯示進(jìn)程信息詳解

top系統(tǒng)當(dāng)前時(shí)間
up開機(jī)到目前為止所經(jīng)過的時(shí)間
user登陸當(dāng)前系統(tǒng)的用戶數(shù)量
load average平均負(fù)載1分鐘,5分鐘,15分鐘的隊(duì)列長(zhǎng)度
task顯示的是目前進(jìn)程的總量與個(gè)別進(jìn)程在什么狀態(tài)
%CPUCPU占用百分比(顯示的是CPU的整體負(fù)載)
Mem物理內(nèi)存
swap交換分區(qū)占用
空行當(dāng)在top程序中輸入指令時(shí),顯示狀態(tài)的地方

%CPU內(nèi)部參數(shù)說明

us用戶空間
sy內(nèi)核空間
ninice調(diào)整時(shí)間
id空閑時(shí)間
wa等待I/O(通常系統(tǒng)會(huì)變慢都是I/O產(chǎn)生的問題比較大)
hi處理硬件中斷
si處理軟件中斷
st被虛擬化程序占用的百分比

3.進(jìn)程優(yōu)先級(jí)

(1) 按照資源占用劃分進(jìn)程類型

資源使用量進(jìn)程類型
cpu使用密集CPU-Bound
I/O使用密集I/O-Bound

對(duì)cpu使用密集的程序多分配cpu,但是一定要調(diào)高I/O使用密集的程序的優(yōu)先級(jí),I/O雖然使用的不多,但當(dāng)I/O出現(xiàn)時(shí)一定要讓它優(yōu)先使用cpu,否則輸入的內(nèi)容延遲會(huì)非常高
(2)優(yōu)先級(jí)范圍
對(duì)Linux而言優(yōu)先級(jí)被劃分成固定個(gè)數(shù)(0-139,140個(gè)優(yōu)先級(jí))
1-99為實(shí)時(shí)有優(yōu)先級(jí),數(shù)字越大優(yōu)先級(jí)越高,不用手動(dòng)處理系統(tǒng)自用(不能人為干預(yù))
100-139為靜態(tài)優(yōu)先級(jí),數(shù)字越小優(yōu)先級(jí)越高,這40個(gè)優(yōu)先級(jí)對(duì)應(yīng)安排成了一個(gè)nice值(-20—19)
一般情況下,我們所說的應(yīng)用程序的默認(rèn)優(yōu)先級(jí)都是120(0是nice值)

(3)調(diào)整進(jìn)程的優(yōu)先級(jí)
renice -n -10 3912 更改vim進(jìn)程優(yōu)先級(jí)為110(nice=-10)< 表示優(yōu)先級(jí)高于默認(rèn)優(yōu)先級(jí)

renice -n 10 3912 更改vim進(jìn)程優(yōu)先級(jí)為130(nice=10)N 表示優(yōu)先級(jí)低于默認(rèn)優(yōu)先級(jí)

(4)開啟進(jìn)程的同時(shí)指定進(jìn)程優(yōu)先級(jí)
nice -n 5 vim & 開啟vim進(jìn)程時(shí)指定它的優(yōu)先級(jí)為125(nice=5)

4.進(jìn)程前后臺(tái)調(diào)用

進(jìn)程前后臺(tái)調(diào)用相關(guān)命令

指令含義
jobs查看后臺(tái)任務(wù)
ctrl+z將前臺(tái)運(yùn)行進(jìn)程打入后臺(tái)
bg激活后臺(tái)進(jìn)程
fg調(diào)回進(jìn)程
&運(yùn)行在后臺(tái)

(1)在workstation主機(jī)中執(zhí)行g(shù)edit(圖形的文本編輯器)命令,該進(jìn)程會(huì)占用終端

(2)ctrl+z直接將gedit前臺(tái)運(yùn)行進(jìn)程打入后臺(tái)

(3)執(zhí)行jobs命令查看被打入后臺(tái)的進(jìn)程

(4)fg job號(hào) 將被打入后臺(tái)的進(jìn)程調(diào)回到前臺(tái)

(5)bg job號(hào) 把后臺(tái)掛起(暫停)的進(jìn)程運(yùn)行起來,但是u不能把vim這個(gè)進(jìn)程運(yùn)行起來,因?yàn)関im這個(gè)工具必須占用終端,提供它的操作界面,才能夠正常運(yùn)行起來,所以用bg job號(hào)去運(yùn)行vim,它運(yùn)行完畢后,又讓vim掛起了,這樣的狀態(tài)就是我們所說的不可喚醒狀態(tài),因?yàn)樗恢痹诘却Y源,但是資源現(xiàn)在不讓它用,只能用fg job號(hào) 把vim調(diào)回前臺(tái)來,才能讓vin運(yùn)行起來

(6)vim & 表示讓vim進(jìn)程在后臺(tái)運(yùn)行,沒有占用你的終端

注意:
1.先打入后臺(tái)的優(yōu)先級(jí)低,后打入后臺(tái)的優(yōu)先級(jí)高
2.+表示正在運(yùn)行,-表示次優(yōu)先
3.如果沒有+(把一個(gè)進(jìn)程調(diào)回前臺(tái)),-就會(huì)被自動(dòng)變?yōu)?#43;(優(yōu)先級(jí)提高)
4.優(yōu)先處理和優(yōu)先調(diào)用不一樣

5.常用進(jìn)程信號(hào)

進(jìn)程和系統(tǒng)進(jìn)行溝通時(shí)用到的信號(hào)
man 7 signal 查看信號(hào)詳細(xì)信息
(1)常用信號(hào)等級(jí)

可控信號(hào)含義
1刷新(進(jìn)程重新加載配置,進(jìn)程號(hào)不變)
2中斷鍵盤輸入(刪除進(jìn)程在內(nèi)存中的數(shù)據(jù))
3退出鼠標(biāo)捕捉(刪除鼠標(biāo)在內(nèi)存中的數(shù)據(jù))
9強(qiáng)制結(jié)束(不會(huì)被阻塞)
15正常關(guān)閉進(jìn)程(可能會(huì)被阻塞)
18激活進(jìn)程(運(yùn)行暫停的進(jìn)程)
19強(qiáng)制暫停 (不會(huì)被阻塞)
20正常暫停(可能會(huì)被阻塞)

1> kill -2 進(jìn)程號(hào) 效果和ctrl+c效果一樣,鍵盤終止,進(jìn)行下一次新的捕捉

2> kill -3 進(jìn)程號(hào) 退出鼠標(biāo)捕捉 可用==ctrl+/==快捷鍵操作
3> kill -9 進(jìn)程號(hào) 強(qiáng)制結(jié)束gedit進(jìn)程,不被阻塞

4> kill -15 進(jìn)程號(hào) 執(zhí)行完以后沒有效果,是因?yàn)樾盘?hào)15的關(guān)閉被系統(tǒng)阻塞掉了,當(dāng)系統(tǒng)接收到15這個(gè)信號(hào)的時(shí)候,它去處理這個(gè)任務(wù)時(shí),內(nèi)核會(huì)認(rèn)為這個(gè)程序不適合被關(guān)閉,所以它把這個(gè)執(zhí)行動(dòng)作就給阻塞掉了,但信號(hào)9是不會(huì)去考慮這個(gè)進(jìn)程是重要還是不重要的,這個(gè)關(guān)閉是不會(huì)被阻塞掉的。


5> kill -20 進(jìn)程號(hào) 和信號(hào)15同理
kill -20 2550 會(huì)發(fā)現(xiàn)暫停shell(命令行輸入字符)被阻塞

kill -20 3069 gedit進(jìn)程被暫停(不能編輯)

6> kill -18 3069 gedit進(jìn)程被激活(可以編輯)

7> kill -19 2550 暫停shell不會(huì)被阻塞,在命令行后邊輸入內(nèi)容時(shí)沒有反應(yīng)
kill -18 2550 剛才輸入的內(nèi)容系統(tǒng)是捕捉到的,只不過捕捉后的程序不響應(yīng),程序響應(yīng)后會(huì)立即發(fā)送給這個(gè)程序;I/O已經(jīng)捕捉到了,但是往程序加載時(shí)受阻塞了

(2)信號(hào)的控制命令
kill 信號(hào) pid
killall 信號(hào) 進(jìn)程名稱
pkill 參數(shù) target
kill表示的不是殺死,是發(fā)送信號(hào)的意思
1> 將三個(gè)vim進(jìn)程打入后臺(tái)
kill -9 2821 需要知道進(jìn)程號(hào)才能結(jié)束掉

2> killall -9 vim killall后面加的是進(jìn)程名稱時(shí),會(huì)把名稱叫這個(gè)指定字符的所有進(jìn)程全部結(jié)束掉,而kill處理的是單一進(jìn)程

3> pkill 參數(shù) target 按照一定條件對(duì)進(jìn)程結(jié)束
用student用戶身份開啟一個(gè)進(jìn)程,pkill -u 1000 進(jìn)程結(jié)束

6.系統(tǒng)守護(hù)進(jìn)程

(1)設(shè)定實(shí)驗(yàn)環(huán)境
1> 在workstation虛擬機(jī)進(jìn)行網(wǎng)絡(luò)配置設(shè)定:nm-connection-editor

網(wǎng)卡設(shè)備:enp1s0

鏈接名:westos(任意起)網(wǎng)絡(luò)選擇IPv4,靜態(tài)方式(manual)
172.25.254.165 前三位是ip的網(wǎng)段,最后一位是真實(shí)主機(jī)的ip,
24表示的是子網(wǎng)掩碼

2> 查看設(shè)定好的workstation虛擬機(jī)網(wǎng)絡(luò)配置:ip addr show enp1s0

3> 檢查網(wǎng)絡(luò)是否連通:查看真機(jī)ip,用真機(jī)ping一下虛擬機(jī),ping 172.25.254.165
能夠ping通,說明網(wǎng)絡(luò)配置成功


4> 遠(yuǎn)程連接:用真機(jī)連接虛擬機(jī)ssh -l root 172.25.254.165

(2)服務(wù)的理解
????現(xiàn)在所使用的虛擬機(jī)是可以讓真機(jī)通過網(wǎng)絡(luò)連接它的,是因?yàn)樵谶@臺(tái)主機(jī)(虛擬機(jī))里開啟了一個(gè)程序這個(gè)程序的名字是994(sshd)
這個(gè)程序是由很多個(gè)程序組成的程序簇,我們把它叫做服務(wù)

????本機(jī)開啟的服務(wù)軟件就是提供給我所提供服務(wù)的享有者使用的,安裝了服務(wù)性軟件的電腦叫做服務(wù)器(如sshd)像這種服務(wù)型軟件,它的控制是不能夠用kill、killall這種單獨(dú)的程序管理工具去進(jìn)行管理的,而用到的是systemctl命令
(3)系統(tǒng)守護(hù)進(jìn)程及systemctl命令
1> 守護(hù)進(jìn)程的定義
????守護(hù)進(jìn)程就是通常講的Daemon進(jìn)程,是linux后臺(tái)執(zhí)行的服務(wù)進(jìn)程,是獨(dú)立于控制終端、周期性地執(zhí)行某種任務(wù)或等待處理某些發(fā)生事件,不會(huì)隨終端關(guān)閉而停止,直到接受停止信息才會(huì)結(jié)束
2> 守護(hù)進(jìn)程類型

守護(hù)進(jìn)程類型使用系統(tǒng)及特點(diǎn)
Sysv init經(jīng)典的守護(hù)進(jìn)程類型延用到rhel6
upstart做到并行啟動(dòng)rhel6中應(yīng)用
systemd獨(dú)立完成啟動(dòng),rhel7中使用

3> systemctl命令用法

指令用途
systemctl list-unit-files查看服務(wù)開機(jī)運(yùn)行情況
systemctl list-units查看服務(wù)當(dāng)前運(yùn)行情況
systemctl list dependencies查看服務(wù)依賴性
systemctl status service查看服務(wù)狀態(tài)
systemctl start service開啟服務(wù)
systemctl stop service關(guān)閉服務(wù)
systemctl reload service重新加載服務(wù)配置
systemctl restart service重新啟動(dòng)服務(wù)
systemctl enable service設(shè)定服務(wù)開啟啟動(dòng)
systemctl enable –now service設(shè)定服務(wù)開機(jī)啟動(dòng)并開啟服務(wù)
systemctl disable service設(shè)定服務(wù)開機(jī)關(guān)閉
systemctl set-default multi-user.target設(shè)定系統(tǒng)運(yùn)行級(jí)別為無圖形網(wǎng)絡(luò)模式
systemctl set-default graphical.target設(shè)定系統(tǒng)運(yùn)行級(jí)別為圖形網(wǎng)絡(luò)模式

查看系統(tǒng)當(dāng)中所有服務(wù)當(dāng)前的運(yùn)行狀況:systemctl list-units --type=service

查看系統(tǒng)當(dāng)中的這些服務(wù)在開機(jī)的時(shí)候會(huì)不會(huì)自動(dòng)打開:systemctl list-unit-files --type=service
enabled表示這個(gè)服務(wù)在開機(jī)的時(shí)候會(huì)自動(dòng)打開
disabled表示這個(gè)服務(wù)在開機(jī)時(shí)不會(huì)自動(dòng)打開
static表示這個(gè)服務(wù)的狀態(tài)是不需要進(jìn)行管理的,是靜態(tài)的,就是當(dāng)它需要的時(shí)候會(huì)自動(dòng)打開,不需要的時(shí)候就不會(huì)打開,這樣的服務(wù)通常是其它一些服務(wù)的依賴性,會(huì)自動(dòng)地根據(jù)某些服務(wù)的需要而打開

查看sshd服務(wù)在工作時(shí)需要哪些服務(wù)的支持:systemctl list-dependencies sshd
當(dāng)打開sshd這個(gè)服務(wù)的時(shí)候,底下的這些所有進(jìn)程都會(huì)自動(dòng)開啟

列出sshd服務(wù)當(dāng)前的狀態(tài):systemctl status sshd
sshd這個(gè)服務(wù)是可用的,能被遠(yuǎn)程連接的,id是994,它現(xiàn)在的任務(wù)只有一個(gè),占用內(nèi)存2.2M,底下這些是它的日志,它的重大事件的一個(gè)記錄

關(guān)閉sshd服務(wù):systemctl stop sshd 不能被遠(yuǎn)程連接

開啟sshd服務(wù):systemctl start sshd 可以被遠(yuǎn)程連接
sshd服務(wù)的配置文件在/etc/ssh/sshd_config下,可以在配置文件里設(shè)定它的工作方式,在改了這個(gè)配置文件后是需要對(duì)這臺(tái)主機(jī)的服務(wù)進(jìn)行重啟或重新初始化的
重啟sshd服務(wù):systemctl restart sshd 進(jìn)程id會(huì)發(fā)生變化,原來是994現(xiàn)在變?yōu)?349

重新加載配置:systemctl reload sshd 進(jìn)程id不會(huì)發(fā)生變化,相當(dāng)于kill -1 刷新(重新加載)

設(shè)定sshd服務(wù)在開機(jī)時(shí)不會(huì)自動(dòng)開啟:systemctl disabled sshd 這個(gè)disabled命令不會(huì)影響這個(gè)服務(wù)的d當(dāng)前狀態(tài) ,服務(wù)當(dāng)前狀態(tài)的更改用systemctl stop sshd命令更改


設(shè)定服務(wù)開機(jī)啟動(dòng)并開啟服務(wù):systemctl enable --now sshd

設(shè)定系統(tǒng)開機(jī)時(shí)為無圖形網(wǎng)絡(luò)模式:systemctl set-default multi-user.target
設(shè)定不會(huì)影響當(dāng)前的圖形狀態(tài),需要reboot,可以用init 3命令關(guān)閉當(dāng)前的圖形狀態(tài),
在無圖形模式界面下,可以用 init 5 開啟圖形,但這只是臨時(shí)的

設(shè)定系統(tǒng)開機(jī)時(shí)為圖形網(wǎng)絡(luò)模式:systemctl set-default graphical.target
設(shè)定不會(huì)影響當(dāng)前的圖形狀態(tài),需要reboot,永久圖形模式

總結(jié)

以上是生活随笔為你收集整理的管理Linux系统中的进程的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。