參考原文: gdb調試
參考原文: 程序執行問題定位: 定位問題的利器之strace
範例:
hostname -i怎麼執行的?
strace hostname -i 看下後發現是讀取/etc/resolv.conf裏面的namerserver,然後連接該dns server
讀取的/etc/resolv.conf文件簡介:
linux下的dns域名解析文件,裏面的nameserver是dns服務器地址,如果沒有就找不到DNS服務器
參考: linux下的rz sz
secureCRT 使用rz上傳文件時要注意參數,如下
-b binary 用binary的方式上傳下載,不解釋字符爲ascii
-e 強制escape 所有控制字符,比如Ctrl+x,DEL等
可能問題:單獨用rz可能會有兩個問題:上傳中斷、上傳文件變化(md5不同),上傳後secureCRT終端關閉
解決辦法:上傳時用rz -be,並且去掉彈出的對話框中“Upload files as ASCII”前的勾選。
作用:監控子進程運行並在其故障時啓動子進程,以保證子進程一直運行
原理:
fork出子進程,然後父進程死循環並通過wait或者waitpid 檢查子進程運行情況
關係樹:
正常情況下的進程樹是supervise--module
例外:
在子進程本身已經形成守護進程(即不在是supervise的子進程而直接是initd的子進程)的時候,關係樹就變成了
supervise--supervise
module--xxxx
這種重啓其實不耗費什麼資源,但是提示rd寫程序的時候儘量不要自己去把程序寫成守護進程,意義不大