查看启动时启动的程序的输出

查看启动时启动的程序的输出

我写了一个Python脚本test.py。该脚本持续运行并偶尔输出信息。如果脚本在终端中启动,我可以看到输出。

但是,我希望脚本在启动时启动,所以我把

sudo python /home/pi/test.py &

/etc/rc.local

登录后,我看不到输出。有什么方法可以在登录后“打开”终端并查看脚本的输出吗?

答案1

假设您有一个带有 systemd/journald 的现代发行版,您应该能够在journalctl -b.

在 Fedora/RHEL 8/CentOS 8 中,要仅查看 rc-local.service 日志,您可以运行:

journalctl -f -u rc-local.service

不知道如何在 Debian/Ubuntu 和其他发行版中完成它。


考虑到您的评论,您也可以尝试这个命令:

journalctl -f $(which python)

PS 拥有sudoinrc.local是没有意义的 - 默认情况下,运行的所有内容rc.local都是在 root 帐户下启动的。


您可以将脚本的输出重定向到某处,这样您就可以使用 来跟踪它tail -f,例如python /home/pi/test.py >/var/log/test.log 2>&1 &然后使用 来跟踪日志tail -f /var/log/test.log

答案2

不,但您可以将 STDERR 和 STDOUT 重定向到文件,然后查看它们。

python test.py test.out 2>/home/pi/test.err

我省略了sudo因为已经/etc/rc.local运行了root

相关内容