我有一个 python 程序,它输出到stdout
一个日志文件。
但是,我为其制作此文件的人想知道我是否可以对其进行设置,以便他可以在文件在不同终端或后台运行时看到文件的输出。例如,程序在启动时启动,他想ssh
进入它并查看它正在运行的输出。
那么有没有办法查看当前正在运行的进程的输出呢?
如果可能的话,最好使用 bash 或 python。
答案1
我看到两个选择。一,他可以用来tail -f
查看正在写入的日志文件,或者二,他可以让程序在一个screen
(或类似的)会话中启动,稍后他可以(重新)附加到该会话。
如果他不知道日志文件的位置,他可以使用top
或ps
类似的工具来查找进程 ID,然后运行lsof -p1234
where 1234 is the process id 来列出该进程的打开文件。
答案2
我个人更喜欢使用less
它来做同样的事情。
less your_file
启动后less
,F命令(不是命令行标志)将开始主动监视文件末尾。在此模式下观看文件末尾时CTRL-c将停止附加输出less
并允许您翻页。非常便利。