iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 7
0
自我挑戰組

30天菜鳥學 Linux 系列 第 7

7天-搞懂多人多工

今天閱讀鳥哥的 Linux 私房菜 -- 程序與資源管理

了解了 PID 跟 父子PID 關係

image-20200910092351547

主要應用,引用鳥哥的話

『擒賊先擒王』, 如果哪天你一直發現『奇怪,怎麼有個程式關閉後,不久又會自動產生? 而且自動產生的 PID 還不一樣!』,呵呵!大概不需要懷疑的是,如果不是 例行性命令 的影響, 肯定有一支父程序存在,他會一直重新觸發你想要關閉的那個程序, 導致你老是關不了。那怎麼辦?不是說過擒賊先擒王嗎?關閉那支父程序啦! ^_^

另外為何 Linux 可以多人多工,原因就是每個人登入後取得的 shell 的 PID 不同

可以達到多個人同時使用「同一個檔案」這在其他OS是做不到的

  • 遇到系統卡住問題

不像是 windows 環境 , linux 可以使用 [Alt]+[F1].....[F7] 來切換到其他的終端機界面,在使用kill幹掉錯誤程序,再回到剛剛終端機就可以回復正常。 這點真棒

  • 如何將工作丟到背景中,使用&,舉例 $ bash yourscript &

  • 擔心沒有log流程紀錄,可以 $ 命令 > /tmp/log.txt 2>&1 &

test@test:~$ ps -l > /tmp/log.txt 2>&1 &
[1] 6410
test@test:~$ ^C
[1]+  Done                    ps -l > /tmp/log.txt 2>&1
test@test:~$ vi /tmp/log.txt

F S   UID     PID    PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD
0 S  1000    4808    4807  0  80   0 -  2069 do_wai pts/1    00:00:00 bash
0 T  1000    4819    4808  0  80   0 -  5451 do_sig pts/1    00:00:00 vi
0 T  1000    6170    4808  0  80   0 -  5468 do_sig pts/1    00:00:00 vi
0 S  1000    6218    4808  0  80   0 -  2066 do_wai pts/1    00:00:00 bash
0 S  1000    6224    6218  0  80   0 -  2066 do_wai pts/1    00:00:00 bash
0 S  1000    6231    6224  0  80   0 -  2066 poll_s pts/1    00:00:00 bash
0 R  1000    6410    6231  0  80   0 -  2199 -      pts/1    00:00:00 ps

上一篇
6天-WSL2安裝MySQL
下一篇
8天-解決 ubuntu sar 問題 ( 非常水的一天XD )
系列文
30天菜鳥學 Linux 59
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言