您的位置:首页 > 运维架构 > Linux

linux 运行时控制打印输出

2014-03-09 02:57 190 查看
大家项目代码中肯定有

#ifdef XXX_DEBUG

printf(xxxxx);

#endif

原来一直在用vxworks开发,vxworks开发时用来控制打印输出很简单

直接定义就行了

但这种方法在linux下就不行了

你无法直接控制一个正在运行的进程

可以通过间接方式进行控制

比如

funcA()

{

...

signal(USR1,funcB);

...

}

在funcB函数中来进行控制进行输出

要想控制funcA的打印输出,只要向funcA 的进程发送kill USR1 funcA 就行了

以上是一个好的方法,我已经在项目中这样使用,效果还不错

可以改变当前程序运行状态,来得到些打印信息

因为有些随机bug,你系统重启后可能就没了,下次出现不知要到什么时候
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: