การสตาร์ท mono-service ด้วย systemd


0

ฉันอ่านมากเกี่ยวกับ 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".

หวังว่าใครบางคนสามารถช่วยฉันชี้แนะทิศทางที่ถูกต้องได้


ใส่ของคุณPIDFileไป/var/run/ผมคิดว่ามันจะช่วยให้
Alexander Tolkachev

@AlexanderTolkachev ลองใช้ก่อนหน้านี้เหมือนกัน แต่ก็ไม่ได้ทำให้แตกต่างกัน วางไว้ใน / tmp เพื่อให้แน่ใจว่าไม่มีปัญหาการอนุญาตใด ๆ เลยตอนนี้
Dirkos

ตกลงดังนั้น PIDFile จึงมีอยู่และมี PID จริงอยู่หรือไม่
Alexander Tolkachev

@AlexanderTolkachev ไม่มีการสร้างไฟล์ PID
Dirkos

นั่นคือเหตุผลที่ systemd คิดว่าบริการไม่ทำงาน
Alexander Tolkachev

คำตอบ:


0

SystemD คิดว่าบริการไม่ทำงานเนื่องจากไม่มีไฟล์ PID ในเส้นทางที่คาดไว้ บริการของคุณไฟล์ pid นี้ควรสร้างโดย systemd เพียงตรวจสอบว่ามันไม่ได้สร้างไฟล์นี้ หากคุณไม่ต้องการสร้างแฟ้มนี้ในการให้บริการของคุณอาจจะเป็นคุณสามารถสร้างมันด้วยเชลล์สคริปต์เล็ก ๆ ExecStartPost=ในส่วน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.