systemd 標準輸出重定向不適用於 systemd 套接字

systemd 標準輸出重定向不適用於 systemd 套接字

我有一個像這樣的 systemd 服務(my-server.service):

[Unit]
Description=My Server
After=syslog.target network-online.target my-server.socket

[Service]
Type=simple
ExecStart=/usr/bin/java myserver.jar
Sockets=my-server.socket
StandardOutput=fd:my-server.socket

[Install]
WantedBy=multi-user.target

和一個附帶的套接字(my-server.socket):

[Unit]
Description=My Server Output Socket

[Socket]
ListenFIFO=/run/my-server-log
SocketMode=0644
RemoveOnStop=false

我基本上試圖擁有一個命名套接字,如果我想處理伺服器輸出,我可以簡單地附加到該套接字。我的問題是,tail -f /run/my-server-log打開相同文件的 python 腳本都不會輸出任何內容。輸出都沒有顯示systemd status,所以我不知道它消失到哪裡,但它似乎沒有像它應該的那樣進入命名管道。

我在這裡遺漏或誤解了什麼嗎?據我所知,這個設置應該可以正常工作這個人似乎有類似的設定工作正常,所以我不確定我的配置有什麼問題。

相關內容