zoukankan      html  css  js  c++  java
  • 如何看到守护daemon进程的标准输出log

      在定位测试问题时,如到了一次坑!! daemon进程中 标准输出会dup到 /dev/null  ;所以 debug的时候看不到print结果,

    结果有人写代码时 就是使用了print 系列函数, 现在出现问题不能重启,但是想知道 pintf 结果怎么处理呢??

    可以gdb 来实现:

    1. gdb -p pid 某个进程
    2. gdb 执行(gdb) call close(1)
    3. (gdb)   call dup2(creat(“/var/log/debug.log”,0666),1)
    4. quit

    之后进程的print输出会被打印到/var/log/debug.log

    对了  调试完关闭输出,修改代码 !! 不要在干出这样的错误;

    同时gdb 进去将进程的标出输出等 重新dup 到/dev/null

    #!/bin/sh
    LOG_FILE=”/var/log/debug_gdb.txt”
    
    if [ ! -n “$1” ] ;then
    echo -e “please input process pid”
    exit
    else
    echo $LOG_FILE
    fi
    
    gdb -p $1 <<EOF
    call close(1)
    call dup2(creat(“/var/log/debug_gdb.txt”,0666),1)
    quit
    EOF

    为啥总有人写好的debug_log 系列输出log 不用,非要用print!!!!!!!!!!!!

    http代理服务器(3-4-7层代理)-网络事件库公共组件、内核kernel驱动 摄像头驱动 tcpip网络协议栈、netfilter、bridge 好像看过!!!! 但行好事 莫问前程 --身高体重180的胖子
  • 相关阅读:
    区块链共识算法整理
    用Python实现GBDT算法并处理Iris数据集
    用Python实现岭回归算法与Lasso回归算法并处理Iris数据集
    软件体系结构结课报告
    用Python实现支持向量机并处理Iris数据集
    HTML标签(三)
    HTML标签(二)
    HTML标签(一)
    HTML简介
    开始。
  • 原文地址:https://www.cnblogs.com/codestack/p/14481965.html
Copyright © 2011-2022 走看看