参考原文: 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写程序的时候尽量不要自己去把程序写成守护进程,意义不大