โดยปกติ เวลาที่ผมใช้โปรแกรม python ผมจะเปิด terminal แล้วสั่ง sudo python AAA.py
แต่มีความต้องการว่าให้ user ที่ไม่ค่อยมีพื้นฐาน linux ใช้งานง่ายๆ ก็เลยต้องเขียนเวป แล้วให้ user กดปุ่มสั่งให้ python ทำงานอีกทีนึง
แต่ก็ติดปัญหาอีกว่าจะให้ user สั่งให้โปรแกรมหยุดทำงานได้ยังไง ก็นั่งหากันอยู่นาน ทดสอบไปมา ได้ผลดังนี้
ในโปรแกรมที่เราสั่งให้ทำงาน(AAA.py) ผมได้แทรก code ลงไป ให้สร้างไฟล์ขึ้นมาไฟล์นึง ในนั้นให้บันทึก PID เอาไว้ มี code ดังนี้
import os
pid = os.getpid()
f = open('PID.txt',"w")
f.write(str(pid))
จาก code ด้านบน เมื่อเราสั่งให้ AAA.py ทำงาน, จะได้ไฟล์ที่ชื่อว่า PID.txt ที่มีหมายเลข PID อยู่ข้างใน
PID คือ Process ID เป็นหมายเลขประจำโปรแกรมที่ทำงานอยู่
จากนั้นผมก็ได้สร้างไฟล์ใหม่อีกไฟล์นึง ที่มีชื่อว่า killAAA.py มี code ดังนี้
import os
import sys
import signal
f = open('PID.txt',"r")
pid = f.readline()
print pid
os.kill(int(pid), signal.SIGKILL)
sys.exit()
ถ้าเราสั่งให้ killAAA.py ทำงาน โปรแกรมนี้ก็จะไปสั่งให้ AAA.py หยุดทำงาน ได้ตามต้องการ
สรุป
บนหน้าเวป จะมีปุ่มที่สั่งให้หยุดการทำงานของโปรแกรมได้ เพื่อให้ user สามารถใช้งานได้ง่ายๆ ไม่ต้องเข้า terminal
ไม่มีความคิดเห็น:
แสดงความคิดเห็น