ถ้าเราต้องการตรวจสอบว่า โปรแกรมที่เราเขียนยังทำงานอยู่ไหม ทำดังนี้
ลง psutil
pip install psutil
สร้างไฟล์ checkMyProgram.py ที่ /home/pi เพื่อเช็คการทำงานของโปรแกรมที่ชื่อว่า MyProgram
import psutil
import datetime
def checkIfProcessRunning(processName):
'''
Check if there is any running process that contains the given name processName.
'''
#Iterate over the all the running process
for proc in psutil.process_iter():
try:
# Check if process name contains the given name string.
if processName.lower() in proc.name().lower():
return True
except (psutil.NoSuchProcess, psutil.AccessDenied, psutil.ZombieProcess):
pass
return False;
time = datetime.datetime.now()
fileName = "/home/pi/TagAgent/MyProgramLog" + time.strftime("%Y-%m-%d_%H") +".txt"
d = open(fileName, "a")
d.write(time.strftime("%H:%M:%S"))
if checkIfProcessRunning('MyProgram'):
d.write(" MyProgram still alive!\n")
d.close()
else:
d.write(" Not found MyProgram!\n")
d.close()
หลังจากการรัน checkMyProgram.py ด้วยคำสั่ง python checkMyProgram.py แล้ว จะมีการสร้างไฟล์ที่ชื่อว่า /home/pi/MyProgramLogตามด้วยปีเดือนวันชั่วโมง.txt ขึ้นมา
เพื่อให้มาเปิดดูในภายหลังว่า โปรแกรม MyProgram ยังทำงานอยู่หรือไม่ หรือว่าตายไปตั้งแต่ช่วงไหน
ถ้าเราต้องการเช็คทุก 1 นาที ก็ให้ใช้ crontab เข้าช่วย
crontab -e
เพิ่มเข้าไปบรรทัดสุดท้าย
* * * * * python /home/pi/checkMyProgram.py
https://thispointer.com/python-check-if-a-process-is-running-by-name-and-find-its-process-id-pid/
https://www.programiz.com/python-programming/datetime/current-time
https://www.w3schools.com/python/python_datetime.asp
ไม่มีความคิดเห็น:
แสดงความคิดเห็น