สร้าง Service เพื่อรันสคริปต่างๆ ให้กับ Raspberry Pi

เวลาเราทำโปรแกรม หรือ script ต่างๆ ขึ้นมาเพื่อรันบน Raspberry Pi ปัญหาหนึ่งที่เราเจอกันบ่อยๆ ก็คือ script หยุดทำงานกลางคัน เพราะ error หรืออะไรต่างๆ หรือการสั่ง restart ทั้งระบบ แล้วต้องมานั่งเปิดโปรแกรมใหม่ทีละตัว จะสั่งให้รันอัตโนมัติใน cron job หรือใน supervisor ก็ได้แต่จะควบคุมการปิดเปิดโปรแกรมยากหน่อย ทางออกที่ง่ายและสะดวกที่สุดก็คงหนีไม่พ้นการสร้าง Service เพื่อสั่งให้รัน สคริป หรือโปรแกรมต่างๆ ของเราแบบอัตโนมัติครับ

เริ่มแรกให้ใช้คำสั่ง

 sudo nano /etc/systemd/system/ชื่อServiceที่จะใช้.service 

หลังจากนั้น copy คำสั่งนี้ไปใส่ได้เลยครับ

[Unit]
Description=รายละเอียดชื่อ service ของเรา
After=network.target

[Service]
User=pi
Group=pi
Type=simple
ExecStart=คำสั่งที่จะรัน script ของเรา เช่น python /home/pi/wx_mqtt_client.py
Restart=always 
RestartSec=5s

[Install]
WantedBy=multi-user.target

เสร็จแล้ว ก็ save โดยกด Ctl+x แล้วตามด้วย Y หลังจากนั้นเริ่มเปิดใช้งาน service โดยใช้คำสั่ง

sudo systemctl daemon-reload
sudo systemctl enable ชื่อserviceของเรา

เสร็จแล้วครับ หลังจากนั้น 3 คำสั่งที่ใช้ควบคุมการทำงาน service ของเราก็มีแค่

sudo service ชื่อservice start
sudo service ชื่อservice stop
sudo service ชื่อservice restart

แถมท้ายด้วยคำสั่งดูสถานะการทำงานของ Service ของเรากันครับ

sudo service ชื่อservice status

Leave a Comment