如何获取其他程序应用程序的控制台输出(并且仅输出)?

时间:2015-07-16 16:50:38

标签: python bash console output

我正在编写一个python代码,它将在Raspberry pi中作为dameon工作。但是,我写这篇文章的人希望看到它在运行时获得的原始输出,而不仅仅是我的日志文件。

我的第一个想法是使用屏幕程序使用bash脚本,但它有一些我不能拥有的功能。主要是通过屏幕程序杀死程序的能力。

有没有办法可以编写一个程序(最好是python)或bash脚本,它能够读取另一个正在运行的程序的输出,但不会向它发送任何内容?

感谢。

2 个答案:

答案 0 :(得分:0)

最简单的只是bash命令

tail -f my_logfile.txt

这假设您已经登录到文件...

如果您希望窥探另一个进程'stdout流,您可以使用strace(也是bash)

export PID=$(pgrep my_program)
strace -p$PID -s9999 -e write

答案 1 :(得分:0)

您可以通过调用

获取stdout流
cat /proc/<pid>/fd/1