$HOMEชี้ไปที่โฮมไดเร็กตอรี่ของผู้ใช้ที่กำลังเรียกใช้สคริปต์ บริการ Systemd /root/theFolder/run.shจะเริ่มต้นกับรากดังนั้นจึงมีแนวโน้มที่จะพยายามที่จะ ใช้พา ธ สัมบูรณ์ในไฟล์บริการ
คุณยังมีforkingชุดตัวเลือก สิ่งนี้จำเป็นสำหรับโปรแกรมที่พื้นหลังของตัวเองสคริปต์ของคุณทำสิ่งนี้หรือไม่? ส่วนใหญ่ทำไม่ได้และหากคุณไม่ได้คุณควรลบตัวเลือกนี้มิฉะนั้น systemd จะรอให้สคริปต์ของคุณเสร็จสิ้นเพื่ออ้างสิทธิ์เมื่อเริ่มต้น
นอกจากนี้ยังมีไฟล์บริการระบบที่ชี้ไปที่สคริปต์ในไดเรกทอรีหลักของคุณและอาจเป็นปัญหาด้านความปลอดภัย เนื่องจากมันถูกเรียกใช้ในฐานะรูทใครก็ตามที่สามารถปรับเปลี่ยนมันอาจจะสามารถเข้าถึงรูทคอมพิวเตอร์ของคุณได้ เป็นการดีกว่าที่จะคัดลอกสคริปต์ไปยัง/usr/local/binและตรวจสอบให้แน่ใจว่าเป็นเจ้าของและสามารถเขียนได้โดย root เพื่อหยุดสิ่งนี้ เป็นความคิดที่ดีที่จะเรียกใช้สคริปต์ในฐานะผู้ใช้ที่ไม่มีสิทธิใช้งานUser=และใช้Group=ตัวเลือกในไฟล์บริการ
หากคุณต้องการเรียกใช้ในฐานะผู้ใช้ของคุณจะเป็นการดีกว่าที่จะวางไฟล์บริการใน~/.config/systemd/user/และเริ่ม / เปิดใช้งานด้วยsystemctl --user enable yourservice && systemctl --user start yourservice(หมายเหตุให้เรียกใช้ในฐานะผู้ใช้ของคุณไม่ใช่รูท) ดูสิ่งนี้สำหรับข้อมูลเพิ่มเติมเกี่ยวกับไฟล์บริการผู้ใช้
systemctl daemon-reloadหลังจากสร้างไฟล์หน่วยของคุณหรือไม่