我正在 Debian 上测试用 C 编写的路由算法。在算法源文件中,我将标志设置为 1 以启用在标准输出上打印路由决策。问题是:运行此文件的进程是后台进程。我怎样才能看到标准输出?
问问题
12726 次
3 回答
4
您可以使用下面的行来检查您的流程在做什么。
$ strace -p $!
$!
给出最后一个后台进程的进程 ID。请记住在与后台进程相同的控制台中运行上述行。
于 2013-10-03T14:03:42.590 回答
3
假设您已经启动并运行了您想要收听的进程,并且您不想像 Laszlo 建议的那样通过重定向停止并重新运行它:您可以strace
用来收听它 -应该如何使用 strace?
基本上它可以跟踪所有系统调用活动,但包括打印
添加-p <pid>
以将其附加到所需的过程。添加-e write
以过滤大部分内容并仅获取输出写入
例如:
> grep somestring . -R >& /dev/null &
[2] 8093
> strace -p 8093 -e write
...here goes the output...
于 2013-10-03T13:15:31.530 回答
1
您将程序的输出重定向到一个文件中,然后您可以查看该文件中的输出。
于 2013-10-03T11:47:07.060 回答