《鸟哥的Linux私房菜》重学笔记(八)

第十六章 程序管理与selinux初探

在 Linux 系統當中:『觸發任何一個事件時,系統都會將他定義成為一個程序,並且給予這個程序一個 ID ,稱為 PID,同時依據啟發這個程序的使用者與相關屬性關係,給予這個 PID 一組有效的權限設定。』 從此以後,這個 PID 能夠在系統上面進行的動作,就與這個 PID 的權限有關了!

在这里插入图片描述

使用 & 直接將指令丟到背景中执行,再使用资料流重导向就输出信息传送到某个文件。

將『目前』的工作丟到背景中『暫停』:[ctrl]-z。

[ctrl]-C用于终止进程。

[root@study ~]# jobs [-lrs]
選項與參數:
-l  :除了列出 job number 與指令串之外,同時列出 PID 的號碼;
-r  :僅列出正在背景 run 的工作;
-s  :僅列出正在背景當中暫停 (stop) 的工作。

範例一:觀察目前的 bash 當中,所有的工作,與對應的 PID
[root@study ~]# jobs -l
[1]- 14566 Stopped                 vim ~/.bashrc
[2]+ 14567 Stopped                 find / -print
[root@study ~]# fg %jobnumber
選項與參數:
%jobnumber :jobnumber 為工作號碼(數字)。注意,那個 % 是可有可無的!

範例一:先以 jobs 觀察工作,再將工作取出:
[root@study ~]# jobs -l
[1]- 14566 Stopped                 vim ~/.bashrc
[2]+ 14567 Stopped                 find / -print
[root@study ~]# fg      <==預設取出那個 + 的工作,亦即 [2]。立即按下[ctrl]-z
[root@study ~]# fg %1   <==直接規定取出的那個工作號碼!再按下[ctrl]-z
[root@study ~]# jobs -l
[1]+ 14566 Stopped                 vim ~/.bashrc
[2]- 14567 Stopped                 find / -print

讓工作在背景下的狀態變成運作中: bg
[root@study ~]# kill -signal %jobnumber
[root@study ~]# kill -l
選項與參數:
-l  :這個是 L 的小寫,列出目前 kill 能夠使用的訊號 (signal) 有哪些?
signal :代表給予後面接的那個工作什麼樣的指示囉!用 man 7 signal 可知:
  -1 :重新讀取一次參數的設定檔 (類似 reload);
  -2 :代表與由鍵盤輸入 [ctrl]-c 同樣的動作;
  -9 :立刻強制刪除一個工作;
  -15:以正常的程序方式終止一項工作。與 -9 是不一樣的。

範例一:找出目前的 bash 環境下的背景工作,並將該工作『強制刪除』。
[root@study ~]# jobs
[1]+  Stopped                 vim ~/.bashrc
[2]   Stopped                 find / -print
[root@study ~]# kill -9 %2; jobs
[1]+  Stopped                 vim ~/.bashrc
[2]   Killed                  find / -print
# 再過幾秒你再下達 jobs 一次,就會發現 2 號工作不見了!因為被移除了!

範例二:找出目前的 bash 環境下的背景工作,並將該工作『正常終止』掉。
[root@study ~]# jobs
[1]+  Stopped                 vim ~/.bashrc
[root@study ~]# kill -SIGTERM %1
# -SIGTERM 與 -15 是一樣的!您可以使用 kill -l 來查閱!
# 不過在這個案例中, vim 的工作無法被結束喔!因為他無法透過 kill 正常終止的意思!

kill 後面接的數字預設會是 PID ,如果想要管理 bash 的工作控制,就得要加上 %數字 了, 這點也得特別留意才行喔!

如果你想要讓在背景的工作在你登出後還能夠繼續的執行,那麼使用 nohup 搭配 & 是不錯的運作情境喔!

既然程序這麼重要,那麼我們如何查閱系統上面正在運作當中的程序呢?很簡單啊! 利用靜態的 ps 或者是動態的 top,還能以 pstree 來查閱程序樹之間的關係喔!

一個是只能查閱自己 bash 程序的『 ps -l 』一個則是可以查閱所有系統運作的程序『 ps aux 』!注意,你沒看錯,是『 ps aux 』沒有那個減號 (-) !

free :觀察記憶體使用情況

netstat :追蹤網路或插槽檔


第十七章、認識系統服務 (daemons)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值