【工具巧用】用killall -STOP保留多进程运行环境现场
来源:互联网 发布:淘宝卖家如何提前收款 编辑:程序博客网 时间:2024/06/05 01:00
程序异常分为2类,一类是技术性错误,一类是逻辑错误。前者,程序会崩溃掉,开启core之后,调试core即可。后者不会异常,但可以通过增加assert断言,保留core。单进程无论是单线程还是多线程,都没有问题。但是多进程调试挺麻烦的,依赖很强,恨不得暂停所有进程,分析好了再继续。不用恨,linux直接做就行。
STOP信号就可以暂停掉进程
kill -STOP <pid> 暂停指定进程
killall -STOP <prog> 暂停指定程序所有进程
为了实现这个目的,完整的实现大致是这样:
1、先定义程序异常标志,如果没有,可以修改程序输出一个特征
2、开发一个并列的脚本,实时监控如果发现异常,停止所有进程
if [ 异常满足 ]; then
killall -STOP 程序名
或
收集所有相关进程pid
kill -STOP pid1 pid2 ...
fi
进程停止之后,就可以gdb -p pid逐个查看运行环境,分析异常原因了
如果需要恢复运行,使用CONT信号即可,用法完全等同STOP
注:如果程序逻辑有时间相关逻辑,比如超时,CONT继续之后,是正常运行是不等价的,分析问题时,不要受干扰。
阅读全文
0 0
- 【工具巧用】用killall -STOP保留多进程运行环境现场
- 终止进程的工具 kill 、killall、pkill、xkill
- 终止进程的工具kill,killall,pkill,xkill
- 终止进程的工具kill,killall,pkill和xkill
- C终止进程的工具kill,killall,pkill和xkill
- 分支现场保留
- 了解进程运行环境
- 用killall -0监控服务的注意事项
- 用killall命令可能会酿成事故哦!
- killall
- killall
- killall
- Linux 杀死进程方法大全(kill,killall)
- 杀死进程命令kill,pkill,killall,xkill
- 杀死进程命令kill,pkill,killall,xkill
- Linux 杀死进程方法大全(kill,killall)
- kill killall pkill 杀死php后台进程
- Linux killall --杀死指定名字的进程
- poj 1502 MPI Maelstrom Dijkstra
- html小例子
- 目标检测RON网络安装运行记录
- 使用netty和messagepack编写网络请求
- HDU6127Hardchallenge(优美的暴力)
- 【工具巧用】用killall -STOP保留多进程运行环境现场
- codeforces
- 15分钟了解Apache Phoenix(HBase的开源SQL引擎)
- 当 TiDB 遇上 Jepsen
- 中国美术史-蒋勋有声书
- C++中STL的介绍和vector容器的介绍
- 0816memo
- 企业的IT架构
- HDU 1421 搬寝室