ฉันกำลังพยายามสร้าง systemd unit เป็นเว็บเซิร์ฟเวอร์ ปัจจุบันfoo.service
ไฟล์ของฉันมีลักษณะดังนี้:
[Unit]
Description=The Foo Web Server
[Service]
Type=simple
ExecStart=/opt/foo/.cabal-sandbox/bin/foo
[Install]
WantedBy=multi-user.target
foo
ปฏิบัติการโดยอัตโนมัติร้องขอ HTTP ทั้งหมดที่ stdout - นี่คือการทดสอบอย่างดี อย่างไรก็ตามเมื่อฉันดูบันทึกด้วยjournalctl -u foo
ฉันได้รับผลลัพธ์เช่นนี้เท่านั้น:
...
May 06 17:46:57 localhost systemd[1]: Stopping The Foo Web Server...
May 06 17:46:57 localhost systemd[1]: Started Foo Web Server.
May 06 17:46:57 localhost systemd[1]: Starting The Foo Web Server...
May 06 17:47:08 localhost systemd[1]: Stopping The Foo Web Server...
May 06 17:47:08 localhost systemd[1]: Started The Foo Web Server.
May 06 17:47:08 localhost systemd[1]: Starting The Foo Web Server...
มีคนอธิบายได้ไหมว่าทำไมมันไม่ได้บันทึกเอาต์พุต stdout ทั้งหมด ฉันดูคำถามก่อนหน้านี้สั้น ๆแต่ก็ไม่ได้ช่วยอะไรเลย แต่มันเป็นการพาดพิงถึงบางสิ่งบางอย่างตามแนว "... อาจไม่ทำงานสำหรับระบบที่ไม่ได้ใช้ระบบเต็ม " - นี่จะเป็นกรณีของ Ubuntu 15.04 ? ขอบคุณล่วงหน้าความช่วยเหลือใด ๆ กับสิ่งนี้จะได้รับการชื่นชมมาก!
print('Hello World!', flush=True)
และนั่นก็เป็นเคล็ดลับ! เอาต์พุตเริ่มแสดงใน journalctl