ให้เรตสมาชิก: 3 / 5

ดาวใช้งานดาวใช้งานดาวใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งาน
 

สำหรับใครที่เขียนโปรแกรมด้วยภาษา Python แล้วเจอปัญหาการรันโปรแกรมไว้บน Web Server หรือในเครื่องคอมพิวเตอร์ของเราเอง เมื่อเครื่อง reboot หรือเราทำการ reboot ด้วยตัวเองแล้วโปรแกรมที่เรารันทิ้งไว้เกิดดับหรือไม่ทำงาน ผมก็มีวิธีแก้ไขปัญหานั้นมาบอก อันดับแรกให้เราสร้างไฟล์ service โดยการเปิด terminal

เปิด terminal ขึ้นมาแล้วใช้คำสั่งนี้

sudo nano /lib/systemd/system/htmltopdf.service

ตามตัวอย่างนี้

ตัวอย่างรูปที่ใช้คำสั่งการสร้างไฟล์ service

จะได้ผลดังนี้

รูปภาพผลของการใช้คำสั่งสร้างไฟล์ service

เมื่อได้ผลตามรูปแล้วจากให้ทำการพิมพ์คำสั่งลงในไฟล์ service ที่สร้างขึ้นมา

[Unit]
Description=MDsoft HTMLToPDF Service
After=multi-user.target

[Service]
Type=simple
WorkingDirectory=[ใส่ path directory ก่อนตำแหน่งของโฟรเดอร์โปรแกรม ]/htmltoPdfImage2
ExecStart=/usr/bin/python [ใส่ path directory ก่อนตำแหน่งของโฟรเดอร์โปรแกรม ]/htmltoPdfImage2/index.py

[Install]
WantedBy=multi-user.target

ตัวอย่างตามนี้

[Unit]
Description=HTMLToPDF Service
After=multi-user.target

[Service]
Type=simple
WorkingDirectory=/home/robot/htmltoPdfImage2
ExecStart=/usr/bin/python /home/robot/htmltoPdfImage2/index.py

[Install]
WantedBy=multi-user.target

เมื่อพิมพ์เสร็จให้กด ctrl - x จากนั้นพิมพ์ Y เพื่อทำการ save 

จากนั้นทำการรีโหลดไฟล์ service ด้วยคำสั่งนี้

sudo systemctl daemon-reload

จากนั้นทำการ enable ไฟล์ service ด้วยคำสั่งนี้

sudo systemctl enable htmltopdf.service

ผลที่ได้ตามด้านล่างนี้

ผลการใช้คำสั่งการ enable ไฟล์ service

จากนั้นทำการ start service โดยใช้คำสั่งนี้

sudo systemctl start htmltopdf.service

สามารถตรวจสอบว่าไฟล์ service นั้น ทำงานหรือไม่ โดยใช้คำสั่งนี้

sudo systemctl status htmltopdf.service

จะได้ผลตามรูปด้านล่างนี้

รูปการแสดงผลของการใช้คำสั่งเพื่อตรวจสอบสถานะของไฟล์ service

จากนั้นให้ทำการตรวจสอบว่าโปรแกรมทำงานหรือไม่

ในการสร้างไฟล์ service บน ubuntu เพื่อใช้รันโปรแกรมตอนเราเปิดเครื่องหรือตอนที่เครื่องทำการ reboot นั้นสามารถนำใช้ไปได้อีกหลากหลายโปรแกรม สามารถนำวิธีอันนี้ไปต่อยอดเพิ่มได้นะครับ

 

 

อ้างอิง

tecadmin(2562).[ออนไลน์].How To Setup Autorun a Python Script Using Systemd.เข้าถึงได้จาก https://tecadmin.net/setup-autorun-python-script-using-systemd/

Dexter Industries(2563).[ออนไลน์].Run a Program On Your Raspberry Pi At Startup.เข้าถึงได้จาก https://www.dexterindustries.com/howto/run-a-program-on-your-raspberry-pi-at-startup/

stackoverflow(2563).[ออนไลน์].เข้าถึงได้จาก https://stackoverflow.com/questions/51025312/start-a-python-script-at-startup-automatically

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
Celeb net worth?
โดย Bailey99 ศ 05 มิ.ย. 2020 7:03 pm บอร์ด PHP Knowledge
0
5
ศ 05 มิ.ย. 2020 7:03 pm โดย Bailey99
วิธีการ ใช้งาน vuetify คู่กับ vue.js
โดย bolue ศ 05 มิ.ย. 2020 6:02 pm บอร์ด CSS Knowledge
0
5
ศ 05 มิ.ย. 2020 6:02 pm โดย bolue
วิธีการ ติดตั้ง vue.js สำหรับผู้เริ่มต้น หัดเขียน สอนติดตั้ง
โดย bolue ศ 05 มิ.ย. 2020 4:55 pm บอร์ด Jquery & Ajax Knowledge
0
25
ศ 05 มิ.ย. 2020 4:55 pm โดย bolue
วิธีการ ใช้ Grid ออกแบบเป็น responsive design โดย vuetify
โดย bolue ศ 05 มิ.ย. 2020 3:36 pm บอร์ด CSS Knowledge
0
14
ศ 05 มิ.ย. 2020 3:36 pm โดย bolue
วิธีการ เรียนใช้ dialog จาก components โดย vue.js
โดย bolue ศ 05 มิ.ย. 2020 1:45 pm บอร์ด Jquery & Ajax Knowledge
0
16
ศ 05 มิ.ย. 2020 1:45 pm โดย bolue
วิธีการ การเรียกใช้ methods โดย vue.js
โดย bolue ศ 05 มิ.ย. 2020 1:17 pm บอร์ด Jquery & Ajax Knowledge
0
9
ศ 05 มิ.ย. 2020 1:17 pm โดย bolue
วิธีการ ค้นหาด้วยการใช้ watch โดย vue.js
โดย bolue ศ 05 มิ.ย. 2020 12:45 pm บอร์ด Jquery & Ajax Knowledge
0
6
ศ 05 มิ.ย. 2020 12:45 pm โดย bolue
วิธีการ แสดงผลข้อมูล จากน้อยไปมาก มากไปน้อย โดย Python
โดย bolue ศ 05 มิ.ย. 2020 11:56 am บอร์ด Python Knowledge
0
8
ศ 05 มิ.ย. 2020 11:56 am โดย bolue
วิธีการ ค้นหาแบบช่วงวันที่ โดย Python
โดย bolue ศ 05 มิ.ย. 2020 11:25 am บอร์ด Python Knowledge
0
11
ศ 05 มิ.ย. 2020 11:25 am โดย bolue
เรียนรู้โปรแกรมบริหารตลาดนัด สรุป และการนำไปใช้
โดย natthanit.r2538 ศ 05 มิ.ย. 2020 11:07 am บอร์ด M103 - ณัฐนิตย์ ร่มบ้านโหล๊ะ
6
14
ศ 05 มิ.ย. 2020 10:24 pm โดย mindphp
งานประจำวันที่ 5 มิถุนายน 2563
โดย bolue ศ 05 มิ.ย. 2020 10:05 am บอร์ด M104 - สุภาภรณ์ อินกรรไกร
7
50
ศ 05 มิ.ย. 2020 7:47 pm โดย thatsawan
งานประจำวันที่ 5 มิถุนายน 2563
โดย natthanit.r2538 ศ 05 มิ.ย. 2020 10:01 am บอร์ด M103 - ณัฐนิตย์ ร่มบ้านโหล๊ะ
3
14
ศ 05 มิ.ย. 2020 8:07 pm โดย natthanit.r2538
กองทุนประกันสังคม มีผู้ประกันตนกี่ประเภท ??
โดย natthanit.r2538 พฤ 04 มิ.ย. 2020 5:53 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
11
พฤ 04 มิ.ย. 2020 5:53 pm โดย natthanit.r2538
สรุปความเข้าใจ เกี่ยวกับการตั้งกระทู้
โดย bolue พฤ 04 มิ.ย. 2020 5:16 pm บอร์ด M104 - สุภาภรณ์ อินกรรไกร
0
10
พฤ 04 มิ.ย. 2020 5:16 pm โดย bolue
วิธีการ ลงเวลา โดย Python
โดย bolue พฤ 04 มิ.ย. 2020 4:09 pm บอร์ด Python Knowledge
0
36
พฤ 04 มิ.ย. 2020 4:09 pm โดย bolue
การยื่นแบบ ภ.ง.ด. 53 ออนไลน์ สอนวิธีการยื่นแบบออนไล์ ทำได้ด้วยตัวเอง
โดย natthanit.r2538 พฤ 04 มิ.ย. 2020 3:51 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
1
25
พฤ 04 มิ.ย. 2020 4:16 pm โดย natthanit.r2538
วิธีการ โชว์ข้อมูลด้วยการ Format วันที่ โดย Python
โดย bolue พฤ 04 มิ.ย. 2020 3:38 pm บอร์ด Python Knowledge
0
32
พฤ 04 มิ.ย. 2020 3:38 pm โดย bolue
การยื่นแบบ ภ.ง.ด. 3 ออนไลน์ สรุปขั้นตอนยื่นแบบภาษี ออนไลน์
โดย natthanit.r2538 พฤ 04 มิ.ย. 2020 2:54 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
1
24
พฤ 04 มิ.ย. 2020 3:08 pm โดย natthanit.r2538
วิธีการเดินทางจาก ปทุมธานี มา กรุงเทพฯ
โดย bolue พฤ 04 มิ.ย. 2020 1:59 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
12
พฤ 04 มิ.ย. 2020 1:59 pm โดย bolue
วิธีการ Search database แบบพื้นฐานๆ โดย Python
โดย bolue พฤ 04 มิ.ย. 2020 1:55 pm บอร์ด Python Knowledge
0
34
พฤ 04 มิ.ย. 2020 1:55 pm โดย bolue