linux 进程用户和组(linux 进程用户)
linux kill殺不掉進程?
linux進程kill不掉
一是進程已經(jīng)成為僵死進程,當(dāng)它的父進程將它回收或?qū)⑺母高M程kill掉即可在ps輸出看不到了;
二是進程正處在內(nèi)核狀態(tài)中,Linux進程運行時分內(nèi)核和用戶兩種狀態(tài),當(dāng)進程進入內(nèi)核狀態(tài)后,會屏蔽所有信號,包括SIGKIL,所以這個時候kill -9也變得無效了。
在unix/linux系統(tǒng)中,什么是用戶態(tài),什么是內(nèi)核態(tài)?
用戶態(tài)和內(nèi)核態(tài) 內(nèi)核棧:Linux中每個進程有兩個棧,分別用于用戶態(tài)和內(nèi)核態(tài)的進程執(zhí)行,其中的內(nèi)核棧就是用于內(nèi)核態(tài)的堆棧,它和進程的task_struct結(jié)構(gòu),更具體的是thread_info結(jié)構(gòu)一起放在兩個連續(xù)的頁框大小的空間內(nèi)。
現(xiàn)在我們從特權(quán)級的調(diào)度來理解用戶態(tài)和內(nèi)核態(tài)就比較好理解了,當(dāng)程序運行在3級特權(quán)級上時,就可以稱之為運行在用戶態(tài),因為這是最低特權(quán)級,是普通的用戶進程運行的特權(quán)級,大部分用戶直接面對的程序都是運行在用戶態(tài);反之,當(dāng)程序運行在0級特權(quán)級上時,就可以稱之為運行在內(nèi)核態(tài)。 雖然用戶態(tài)下和內(nèi)核態(tài)下工作的程序有很多差別,但最重要的差別就在于特權(quán)級的不同,即權(quán)力的不同。
運行在用戶態(tài)的程序不能訪問操作系統(tǒng)內(nèi)核數(shù)據(jù)結(jié)構(gòu)合程序。
當(dāng)我們在系統(tǒng)中執(zhí)行一個程序時,大部分時間是運行在用戶態(tài)下的。在其需要操作系統(tǒng)幫助完成某些它沒有權(quán)力和能力完成的工作時就會切換到內(nèi)核態(tài)。 Linux進程的4GB地址空間,3G-4G部分大家是共享的,是內(nèi)核態(tài)的地址空間,這里存放在整個內(nèi)核的代碼和所有的內(nèi)核模塊,以及內(nèi)核所維護的數(shù)據(jù)。
用戶運行一個程序,該程序所創(chuàng)建的進程開始是運行在用戶態(tài)的,如果要執(zhí)行文件操作,網(wǎng)絡(luò)數(shù)據(jù)發(fā)送等操作,必須通過write,send等系統(tǒng)調(diào)用,這些系統(tǒng)調(diào)用會調(diào)用內(nèi)核中的代碼來完成操作,這時,必須切換到Ring0,然后進入3GB-4GB中的內(nèi)核地址空間去執(zhí)行這些代碼完成操作,完成后,切換回Ring3,回到用戶態(tài)。
這樣,用戶態(tài)的程序就不能隨意操作內(nèi)核地址空間,具有一定的安全保護作用。
保護模式,通過內(nèi)存頁表操作等機制,保證進程間的地址空間不會互相沖突,一個進程的操作不會修改另一個進程的地址空間中的數(shù)據(jù)。在內(nèi)核態(tài)下,CPU可執(zhí)行任何指令,在用戶態(tài)下CPU只能執(zhí)行非特權(quán)指令。
當(dāng)CPU處于內(nèi)核態(tài),可以隨意進入用戶態(tài);而當(dāng)CPU處于用戶態(tài),只能通過中斷的方式進入內(nèi)核態(tài)。
一般程序一開始都是運行于用戶態(tài),當(dāng)程序需要使用系統(tǒng)資源時,就必須通過調(diào)用軟中斷進入內(nèi)核態(tài).
linux查看某個進程是否啟動的命令是?
ps命令
-e現(xiàn)實所有進程
-f全格式
-h不顯示標(biāo)題
-l長格式
-a顯示終端上所有進程,包括其它用戶的進程
-r只顯示正在運行的進程
-p指定pid
linux怎么徹底刪除用戶進程?
1、使用root用戶登錄到系統(tǒng)中。
2、切換到到/home目錄,查看當(dāng)前文件夾,一般一個文件夾名字就代表一個用戶。
3、或者使用以下命令查看用戶cat/etc/passwd|grep-vnologin|grep-vhalt|grep-vshutdown|awk-F":"'{print$1"|"$3"|"$4}'|more。
4、使用userdel命令可以刪除用戶,輸入userdel-h查看幫忙命令。
5、使用userdel-r刪除用戶以及對應(yīng)的文件夾,輸入命令userdel-rhundsun,這樣就把hundsun用戶刪除了。
linux超級用戶和普通用戶的區(qū)別?
在Linux系統(tǒng)中,有三類用戶,分別是系統(tǒng)用戶、普通用戶和根用戶。
1.普通用戶:是 Linux的真實用戶,這類用戶可以通過用戶名和密碼登錄,通常普通用戶的UID大于500;
2.系統(tǒng)用戶:是系統(tǒng)運行時的一些特殊用戶,這類用戶往往不能登錄到系統(tǒng)中,但是一些進程需要使用這類用戶運行,比如系統(tǒng)中的htpd進程就是使用用戶 apache運行的;
3.根用戶:又叫root,它的UID為0,也是系統(tǒng)中的超級用戶,擁有最高權(quán)限。
除了用戶之外, Linux系統(tǒng)中還存在用戶組,而用戶組也是用數(shù)字來區(qū)分的,即 Group ID,簡稱為GID。
總結(jié)
以上是生活随笔為你收集整理的linux 进程用户和组(linux 进程用户)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 将Websocket与Spring Fr
- 下一篇: 老安卓游戏网站(老安卓游戏)