我正在调试远程服务器上运行的 C 程序。该程序将大约 3MB 的数据文件保存到一个目录中,并以无限循环每 10 秒将字符串打印到终端。如果我 ssh 进入服务器并运行该程序,输出消息和数据看起来很合理。但是,当我将程序放入 crontab 并重新启动时,程序会在后台运行,但会在几分钟内停止创建数据文件。 Cron 似乎成功运行了该程序。当我打开 htop 时,该程序就在那里。但奇怪的是我没有从程序中得到任何输出。不幸的是,cron 日志文件现在也不再更新。
如何在后台监控C程序?是否可以实时查看后台进程的stdout、stderr?或者,是否有一种流行的方法来调试此类程序?
答案1
不确定我是否正确理解您想要的内容,但您可以将 stderr 和 stdout 重定向到单独的文件:./myprogram 2>./stderr 1>./stdout
或同一文件:./myprogram > ./logfile 2>&1