linux 运行时控制打印输出

大家项目代码中肯定有

#ifdef XXX_DEBUG

printf(xxxxx);

#endif

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

直接定义就行了

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

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

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

比如

funcA()

{

...

signal(USR1,funcB);

...

}

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

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

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

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

因为有些随机bug,你系统重启后可能就没了,下次出现不知要到什么时候


你可能感兴趣的:(linux 运行时控制打印输出)