我有一个系统服务:
[Unit]
Description=My application
[Service]
ExecStart=/bin/java myapp.jar
Type=simple
User=photo
有一个选项:StandardOutput=但我不明白如何使用它来写入文件。 https://www.freedesktop.org/software/systemd/man/systemd.exec.html
我期待在此处放置一个文件路径,但文档讨论了套接字和文件描述符。似乎它需要更多的配置而不仅仅是那个关键字。
文件路径放在哪里? 我找不到任何这种用途的例子
谢谢
利用:
如此处所述:https ://www.freedesktop.org/software/systemd/man/systemd.exec.html#StandardOutput=
请注意,这种方式日志文件内容将在每次服务重新启动时被覆盖。
StandardOutput/Error
systemd 指令不支持附加到文件。如果您想在服务重新启动之间维护文件日志并只是将新的记录行附加到它,请改用:
exec
/bin/java
表示在设置重定向而不分叉后,shell 程序将被替换为程序。/bin/java
所以跟直接跑之后不会有什么区别ExecStart=
。如果您的应用是 Python 脚本,您还需要设置
否则,在刷新缓冲区之前,您将看不到任何日志消息。