程序、進(jìn)程、線程的概念及區(qū)別程序、進(jìn)程、線程的概念
程序、進(jìn)程、線程的對(duì)應(yīng)關(guān)系
一個(gè)程序可以對(duì)應(yīng)多個(gè)進(jìn)程,一個(gè)進(jìn)程只能對(duì)應(yīng)一個(gè)程序
一個(gè)進(jìn)程可以對(duì)應(yīng)多個(gè)線程,一個(gè)線程只能對(duì)應(yīng)一個(gè)進(jìn)程
進(jìn)程、線程的區(qū)別
注:在同一進(jìn)程中,線程的切換不會(huì)引起進(jìn)程的切換,
在由一個(gè)進(jìn)程中的線程切換到另一個(gè)進(jìn)程中的線程時(shí),將會(huì)引起進(jìn)程的切換
查看進(jìn)程進(jìn)程=代碼段+數(shù)據(jù)段+堆棧段+進(jìn)程控制塊PCB
進(jìn)程類(lèi)型
查看進(jìn)程
ps [選項(xiàng)]
支持三種選項(xiàng):Unix選項(xiàng)、BSD選項(xiàng)、GUN選項(xiàng)
常用Unix選項(xiàng)
常用BSD選項(xiàng)
詳情請(qǐng)看 ps --hlep詳解
查看父子進(jìn)程關(guān)系
pstree
詳情請(qǐng)看 pstree --hlep詳解
搜索進(jìn)程
ps [選項(xiàng)] | grep 進(jìn)程名
pgrep 進(jìn)程名
pidof 進(jìn)程名
查看進(jìn)程eg.
用三種命令分別查看redis-server進(jìn)程的pid
linux-szge:/home/soft # pgrep redis-server
1560
linux-szge:/home/soft # pidof redis-server
1560
linux-szge:/home/soft # ps aux | grep redis
root1560 0.5 0.8 1134080 445092 pts/4Ssl Mar07 272:49 /home/soft/redis/bin/redis-server *:6379
ps aux分割成了11個(gè)字段含義如下
第11個(gè)字段是/home/soft/redis/bin/redis-server *:6379 是CMD命令名
進(jìn)程的狀態(tài)
Ssl則表示是:redis是一個(gè)多線程的可中斷休眠態(tài)的領(lǐng)導(dǎo)者進(jìn)程
linux-szge:/home/soft # ps -ef | grep redis
path is set to /home/solarwinds/dpa_10_0_352/iwc/jre_linux/bin:/usr/java/jdk1.7.0_25/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin。path is set to /home/solarwinds/dpa_11_0_373/iwc/jre_linux/bin:/usr/java/jdk1.7.0_25/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin。[root@itdragon bin]# ./redis-cli -h 127.0.0.1 -p 6379。
pa -ef分割成了8個(gè)字段含義如下
注:父進(jìn)程先于子進(jìn)程結(jié)束linux命令,子進(jìn)程打印父進(jìn)id就會(huì)是1
注:linux操作系統(tǒng)中各進(jìn)程相關(guān)信息均保存在/proc/PID目錄下的各個(gè)文件中
殺掉進(jìn)程kill [信號(hào)] 進(jìn)程號(hào)常用進(jìn)程信號(hào)(信號(hào)可通過(guò)kill -l查看)
killall [信號(hào)] 進(jìn)程名
詳情請(qǐng)看 killall --hlep詳解
pkill 進(jìn)程名
詳情請(qǐng)看 pkill --hlep詳解
殺掉進(jìn)程eg.
強(qiáng)制殺掉redis-server
linux-szge:/home/soft # pidof redis-server