ฉันอ่านมากเกี่ยวกับ systemd เร็ว ๆ นี้ แต่ฉันไม่สามารถหาวิธีการเรียกใช้ของฉันmono-service
ผ่าน systemd
ด้านล่างคือการกำหนดค่า systemd daemon ปัจจุบันของฉัน:
root@LNXOSESTNL:/opt/omnius-statusdaemon# cat /etc/systemd/system/omnius-statusdaemon.service
[Unit]
Description="Omnius StatusDaemon"
After=network.target
[Service]
Type=simple
User=omnius-statusdaemon
Group=omnius-statusdaemon
ExecStart=/usr/bin/mono-service -d:/opt/omnius-statusdaemon /opt/omnius-statusdaemon/Dynacommerce.StatusQueueService.exe
PIDFile=/tmp/omnius-statusdaemon.pid
StandardOutput=journal+console
[Install]
WantedBy=default.target
เมื่อฉันเรียกใช้สคริปต์ exec ข้างต้นโดยตรงทั้งหมดทำงานได้ดีและฉันmono-service
กำลังทำงานอยู่ อย่างไรก็ตามผ่าน systemd เอาต์พุตอยู่ด้านล่าง:
root@LNXOSESTNL:/opt/omnius-statusdaemon# systemctl status omnius-statusdaemon.service
● omnius-statusdaemon.service - "Omnius StatusDaemon"
Loaded: loaded (/etc/systemd/system/omnius-statusdaemon.service; enabled; vendor preset: enabled)
Active: inactive (dead) since Sat 2018-03-17 11:26:38 CET; 2s ago
Process: 11099 ExecStart=/usr/bin/mono-service -d:/opt/omnius-statusdaemon /opt/omnius-statusdaemon/Dynacommerce.StatusQueueService.exe (code=exited, status=0/SUCCESS)
Main PID: 11099 (code=exited, status=0/SUCCESS)
Mar 17 11:26:38 LNXOSESTNL systemd[1]: Started "Omnius StatusDaemon".
หวังว่าใครบางคนสามารถช่วยฉันชี้แนะทิศทางที่ถูกต้องได้
@AlexanderTolkachev ลองใช้ก่อนหน้านี้เหมือนกัน แต่ก็ไม่ได้ทำให้แตกต่างกัน วางไว้ใน / tmp เพื่อให้แน่ใจว่าไม่มีปัญหาการอนุญาตใด ๆ เลยตอนนี้
—
Dirkos
ตกลงดังนั้น PIDFile จึงมีอยู่และมี PID จริงอยู่หรือไม่
—
Alexander Tolkachev
@AlexanderTolkachev ไม่มีการสร้างไฟล์ PID
—
Dirkos
นั่นคือเหตุผลที่ systemd คิดว่าบริการไม่ทำงาน
—
Alexander Tolkachev
PIDFile
ไป/var/run/
ผมคิดว่ามันจะช่วยให้