我写了一个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 拥有sudo
inrc.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
。