วันพฤหัสบดีที่ 7 เมษายน พ.ศ. 2565

การใช้ systemd เพื่อรันโปรแกรมภาษา python อัตโนมัติ ขณะ boot หรือเมื่อเกิด Error



 1. สร้างไฟล์ .sh เพื่อเขียน Script Run โปรแกรม






2. พิมพ์คำสั่ง Command name-of-your-service คือชื่อ service ที่เราตั้งขึ้น


sudo nano /etc/systemd/system/name-of-your-service.service

3. พิมพ์คำสั่งใน nano ดังนี้ สามารถศึกษาการทำงานของคำสั่งได้จาก ลิงค์นี้



[Unit]

Description=Run App

After=multi-user.target

[Service]

Type=idle

User=pi

Environment=DISPLAY=:0

WorkingDirectory=/home/pi/DROPPOINT

ExecStart=/home/pi/DROPPOINT/main.sh

Restart=always

RestartSec=3s

[Install]

WantedBy=graphical.target

 


เมื่อเสร็จแล้วให้บันทึก กดปุ่ม ctrl+x แล้วกด Y

4.  sudo systemctl daemon-reload

5. sudo systemctl enable service_name.service




6.sudo systemctl status service_name.service



ตรวจสอบสถานะ พบว่ามาการสร้าง Service แต่ยังไม่ถูกรัน


7. sudo systemctl start service_name.service  หรือ sudo service service_name start

 ตรวจสอบสถานะอีกครั้ง  sudo service service_name status


8.  sudo service service_name stop สำหรับหยุด service หากต้องการแก้ไขโปรแกรม


 ทดสอบโปรแกรม