Linux學習筆記(程序管理)

首先明確程序與進程的概念:
程序指存在磁盤中靜態的可執行文件。它通過用戶執行來觸發,觸發後加載到內存中成爲一個進程。爲了操作系統可以管理這個進程,因此進程還會被給予執行者權限、屬性等參數,還包含進程所需要的腳本與數據等。
程序與進程——圖自《鳥哥的Linux私房菜》

每個進程都有一個特定的PID,對進程的控制很多都是基於PID實現的。例如,可以用kill指令給進程發送特定的signal。常見的signal有以下幾種:

代號 名稱 內容
1 SIGHUP 啓動被終止進程,可以重新讀取相應配置文件,類似重新啓動
2 SIGINT 相當於用鍵盤的ctrl+c來中斷一個進程的進行
9 SIGKILL 強制中斷一個進程,如果該進程進行到一半,可能會有“半成品”遺留下來
15 SIGTERM 以正常方式結束一個進程。如果進程發送問題無法正常終止,則該信號沒用
17 SIGSTOP 相當於用鍵盤的ctrl+z來暫停

kill必須使用PID(或者job number)。而killall可以以“執行命令的名稱”來給予信號。一般,要刪除某個進程,可以使用kill PID的方式。而要刪除某個服務呢,最簡單的辦法就是利用killall,它可以將所有以某個命令名稱啓動的進程全部刪除。

SELinux

SELinux是Security Enhanced Linux的縮寫。它通過強制訪問控制MAC(Mandatory Access Control)的方法控制系統安全。MAC控制的主體是進程,目標則是該進程能否讀取文件資源。
SELinux各組件相關性——圖取自《鳥哥的linux私房菜》
安全上下文有點像系統內的rwx權限控制部分,它通過主體進程的domain(域)和文件資源的type(類型)匹配來確定進程的權限(類型都是在SELinux中定義的)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章