ตั้งเวลา ปิด – เปิด โปรแกรมด้วย batch file แบบหน่วงเวลาเปิด

#ความขี้เกียจก่อเกิดนวัตกรรม ใส่ hashtag รอเลย ซึ่งที่มาของโจทย์นี้ง่ายๆ คือ มันจะมีโปรแกรมบางตัวต้องปิด ก่อนถึง dead line หมายความว่า ถ้าถึงช่วงเวลานี้แล้ว โปรแกรมไอ้ที่ว่านี่มันจะทำงานไม่ได้ เพราะว่า server จะตัด task ทุกอย่างทิ้ง ไม่ให้มันทำอะไรจนกว่าจะ backup เสร็จ ดังนั้น ก็เลยต้องปิดมันก่อนจะถึงเวลา ซึ่งในที่นี้ก็มีการหน่วงเวลาเปิดไว้ด้วย ซึ่ง process การทำงานก็จะมีแค่ ปิด – รอ – เปิด แค่นี้ มาดู code ง่ายๆ กันดีกว่า ซึ่งก็ใช้ท่าเดิม คือ batch file แบบบ้านๆ  run ใน task schedule โดยตั้งเวลาเอาไว้แค่นั้น!  

Command ที่ใช้

taskkill จบการทำงานหรือปิด process ได้จากชื่อ หรือ PID ก็ได้ ref: https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/taskkill

start เอาไว้ run โปรแกรมขึ้นมา ref: https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/start

จบ มาเริ่ม code เลย

สรุป

ทดสอบแล้ว ใช้งานได้ แต่ติดปัญหาอย่างเดียว ถ้า Program มันเปิดขึ้นมาแล้วไม่ได้ทำงานได้เลย ต้องมีการ login เข้าไป ไอ้การตั้งเปิด/ปิดแบบนี้ ก็ไม่ได้ช่วยอะไรมาก เพราะยังไงก็ต้องใช้คนทำแทนอยู่ดี เว้นแต่จะ authen ได้เลย