linux - 查看运行服务的journalctl日志

标签 linux ubuntu systemd

我正在使用 sudo journalctl -u some-service -f 查看服务日志。但是,当服务运行时,最后的日志总是以下形式:

***来自某些服务的先前实例的大量日志*** 4 月 14 日 09:03:05 用户计算机 systemd[1]:停止了一些服务。 4 月 14 日 09:03:35 用户计算机 systemd[1]:启动了一些服务。

我希望看到的:

***来自某些服务的先前实例的大量日志*** 4 月 14 日 09:03:05 用户计算机 systemd[1]:停止了一些服务。 4 月 14 日 09:03:35 用户计算机 systemd[1]:启动了一些服务。 ***来自某些服务的当前实例的新日志***

为什么我看不到当前运行的服务实例的日志?只有停止/重新启动服务后,我才能看到该实例的日志。

请帮忙。

最佳答案

问题是特定于应用程序的,与 systemd 或 journalctl 无关。

对于我的 Python 服务,我必须禁用输出缓冲区:

[Service]
StandardOutput=journal
StandardError=journal
Environment="PYTHONUNBUFFERED=x"

对于我的 PHP 应用程序,我只需在刷新内容之前添加一个换行符即可。

关于linux - 查看运行服务的journalctl日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49828995/

相关文章:

linux - GREP 命令查找整个字符串

java - 添加 Java 类

hadoop - mac osx 10.8.4 上缺少 systemd

linux - systemctl status 显示 inactive dead

python-3.x - 如何使用 systemd 服务运行 pygame 脚本?

linux - Bash 调用两个 bash 脚本

linux - 线程退出但仍保持互斥

c++ - 如何在没有得到 "lightweight-java-profiler"的情况下编译 "C++11 requires a space between literal and identifier"

linux - 文件删除后进程继续保留文件

ubuntu - Docker构建错误/bin/sh : 1: apt-get: not found