程序、進程、線程的概念及區(qū)別程序、進程、線程的概念
程序、進程、線程的對應關系
一個程序可以對應多個進程,一個進程只能對應一個程序
一個進程可以對應多個線程,一個線程只能對應一個進程
進程、線程的區(qū)別
注:在同一進程中,線程的切換不會引起進程的切換,
在由一個進程中的線程切換到另一個進程中的線程時,將會引起進程的切換
查看進程進程=代碼段+數(shù)據(jù)段+堆棧段+進程控制塊PCB
進程類型
查看進程
ps [選項]
支持三種選項:Unix選項、BSD選項、GUN選項
常用Unix選項
常用BSD選項
詳情請看 ps --hlep詳解
查看父子進程關系
pstree
詳情請看 pstree --hlep詳解
搜索進程
ps [選項] | grep 進程名
pgrep 進程名
pidof 進程名
查看進程eg.
用三種命令分別查看redis-server進程的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個字段含義如下
第11個字段是/home/soft/redis/bin/redis-server *:6379 是CMD命令名
進程的狀態(tài)
Ssl則表示是:redis是一個多線程的可中斷休眠態(tài)的領導者進程
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個字段含義如下
注:父進程先于子進程結(jié)束linux命令,子進程打印父進id就會是1
注:linux操作系統(tǒng)中各進程相關信息均保存在/proc/PID目錄下的各個文件中
殺掉進程kill [信號] 進程號常用進程信號(信號可通過kill -l查看)
killall [信號] 進程名
詳情請看 killall --hlep詳解
pkill 進程名
詳情請看 pkill --hlep詳解
殺掉進程eg.
強制殺掉redis-server
linux-szge:/home/soft # pidof redis-server