เวลาเราทำโปรแกรม หรือ script ต่างๆ ขึ้นมาเพื่อรันบน Raspberry Pi ปัญหาหนึ่งที่เราเจอกันบ่อยๆ ก็คือ script หยุดทำงานกลางคัน เพราะ error หรืออะไรต่างๆ หรือการสั่ง restart ทั้งระบบ แล้วต้องมานั่งเปิดโปรแกรมใหม่ทีละตัว จะสั่งให้รันอัตโนมัติใน cron job หรือใน supervisor ก็ได้แต่จะควบคุมการปิดเปิดโปรแกรมยากหน่อย ทางออกที่ง่ายและสะดวกที่สุดก็คงหนีไม่พ้นการสร้าง Service เพื่อสั่งให้รัน สคริป หรือโปรแกรมต่างๆ ของเราแบบอัตโนมัติครับ
![](https://chokelive.com/wp-content/uploads/2020/01/image-15.png)
เริ่มแรกให้ใช้คำสั่ง
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