如何看到守护daemon进程的标准输出log
在定位测试问题时,如到了一次坑!! daemon进程中 标准输出会dup到 /dev/null ;所以 debug的时候看不到print结果,
结果有人写代码时 就是使用了print 系列函数, 现在出现问题不能重启,但是想知道 pintf 结果怎么处理呢??
可以gdb 来实现:
- gdb -p pid 某个进程
- gdb 执行(gdb) call close(1)
- (gdb) call dup2(creat(“/var/log/debug.log”,0666),1)
- 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的胖子
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南