Linux系统进程类型有哪些?进程状态有哪几种?常见的进程有哪些?
一.linux系統(tǒng)進程類型有 :交互進程 ;批處理進程 ;監(jiān)控進程(守護進程);
交互進程:由一個shell啟動的進程。交互進程既可以在前臺運行,也可以在后臺運行。
批處理進程:這種進程和終端沒有聯(lián)系,是一個進程序列。
監(jiān)控進程(也稱守護進程):Linux系統(tǒng)啟動時啟動的進程,并在后臺運行。
?
二.進程狀態(tài)有:
linux上進程有5種狀態(tài):
1. 運行(正在運行或在運行隊列中等待)
2. 中斷(休眠中, 受阻, 在等待某個條件的形成或接受到信號)
3. 不可中斷(收到信號不喚醒和不可運行, 進程必須等待直到有中斷發(fā)生)
4. 僵死(進程已終止, 但進程描述符存在, 直到父進程調(diào)用wait4()系統(tǒng)調(diào)用后釋放)
5. 停止(進程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信號后停止運行運行)?
ps工具標(biāo)識進程的5種狀態(tài)碼:
? ?D 不可中斷 uninterruptible sleep (usually IO)
? ?R 運行 runnable (on run queue)
? ?S 中斷 sleeping
? ?T 停止 traced or stopped
? Z 僵死 a defunct (”zombie”) process
?
三:常見的進程
1./usr/sbin/inetd 守護進程為網(wǎng)絡(luò)提供 Internet 服務(wù)管理。
?
2.Linux下有3個特殊的進程,idle進程(PID=0), init進程(PID=1)和kthreadd(PID=2)
(1)idle進程由系統(tǒng)自動創(chuàng)建,運行在內(nèi)核態(tài).idle進程其pid=0,其前身是系統(tǒng)創(chuàng)建的第一個進程,也是唯一一個沒有通過fork或者kernel_thread產(chǎn)生的進程。完成加載系統(tǒng)后,演變?yōu)檫M程調(diào)度、交換.
(2)init進程由idle通過kernel_thread創(chuàng)建,在內(nèi)核空間完成初始化后,加載init程序,并最終用戶空間創(chuàng)建 .init 進程 (pid = 1, ppid = 0),init進程由0進程創(chuàng)建,完成系統(tǒng)的初始化.是系統(tǒng)中所有其它用戶進程的祖先進程.
(3) kthreadd進程由idle通過kernel_thread創(chuàng)建,并始終運行在內(nèi)核空間,負(fù)責(zé)所有內(nèi)核線程的調(diào)度和管理 .kthreadd (pid = 2, ppid = 0)它的任務(wù)就是管理和調(diào)度其他內(nèi)核線程kernel_thread,會循環(huán)執(zhí)行一個kthread的函數(shù),該函數(shù)的作用就是運行kthread_create_list全局鏈表中維護的kthread,當(dāng)我們調(diào)用kernel_thread創(chuàng)建的內(nèi)核線程會被加入到此鏈表中,因此所有的內(nèi)核線程都是直接或者間接的以kthreadd為父進程.
總結(jié)
以上是生活随笔為你收集整理的Linux系统进程类型有哪些?进程状态有哪几种?常见的进程有哪些?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 网络管理的5大功能!
- 下一篇: linux系统的交换分区怎么分配?