21 ธันวาคม 2557

Published 12/21/2557 by with 2 comments

สั่งปิดหรือรีบูตคอมด้วย Python

สวัสดีผู้อ่านทุกท่านครับ บทความนี้จะพาผู้อ่านไปสั่งปิดหรือรีบูตคอมพิวเตอร์ด้วย Python กันครับ
ใน Python จะมีโมดูลหนึ่งที่ใช้สำหรับทำการสั่งงานกับระบบปฏิบัติการ ชื่อว่า os เป็นโมดูลมาตรฐานของ Python บทความนี้จะนำความสามารถนี้มาใช้ ส่วนรายละเอียดของโมดูล os จะกล่าวในบทความถัดไปครับ
  ทั้งระบบปฏิบัติการ Windows , Linux และ Mac OS ต่างก็มีคำสั่งบนคอมมาไลน์สำหรับใช้สั่งงานคอมพิวเตอร์ เช่น สั่งปิดเครื่องหรือบูตเครื่องใหม่ (สรุปง่าย ๆ คำสั่งคอมมาไลน์มีทุกระบบปฏิบัติการบนคอมพิวเตอร์ครับ) ในการสั่งปิดหรือรีบูตเครื่อง ต้องใช้คำสั่ง shutdown ทั้งนี้บนระบบปฏิบัติการ Windows , Linux และ Mac OS มีการใช้งานแตกต่างกันครับ
คำสั่งปิดเครื่องบนระบบปฏิบัติการ Windows
shutdown /s
หมายถึงการสั่งปิดเครื่องคอมพิวเตอร์ทันที
หากต้องการสั่งปิดเคื่องด้วยการนับเวลาถอยหลัง
shutdown /s /t วินาที
ตัวอย่างเช่น
shutdown /s /t 60
หมายถึง สั่งปิดเครื่องเวลาหลังจากนี้ 60 วินาที
ส่วนการรีบูตเครื่องใหม่จะใช้คำสั่ง
shutdown /r
ถ้าต้องการยกเลิกใช้คำสั่ง
shutdown /a
คำสั่งปิดเครื่องบนระบบปฏิบัติการ Linux และ Mac OS
ต้องรันในสิทธิ์ Root หรือ Super User ก่อนนะครับ ในสาย Debian เช่น Ubuntu จะเป็น sudo su แล้วจึงใช้คำสั่งครับ ปิดเครื่องทันทีใช้คำสั่ง
shutdown -p now
หากต้องการกำหนดเวลาปิดเครื่องใช้คำสั่ง
shutdown -p 20:00
หมายถึง ให้ระบบปิดเครื่องในเวลา 20.00 น.
shutdown -p +15
หมายถึง ปิดเครื่องนับจากนี้ 15 นาที
หากต้องการรีบูตเครื่องใหม่ ให้เปลี่ยนจาก -p เป็น -r เช่น
shutdown -r now
หมายถึง ให้รีบูตเครื่องทันทีหลังจากที่สั่ง

หลังจากเราได้เรียนรู้คำสั่งไปกับบ้างแล้ว
เรามาเริ่มเขียนโปรแกรมกันเลยครับ
import os
os.system("shutdown /s") #ให้ผู้อ่านเปลี่ยนตามความต้องการของผู้อ่านครับ เช่น รีบูตเครื่องใหม่
สำหรับบนลินุกซ์ต้องรันโค้ดในสิทธิ์ Root หรือ Super User จึงจะทำงานได้ครับ
แล้วบันทึกลองรันดูจะพบว่าคอมพิวเตอร์จะปิดเครื่องเองครับ สามารถนำไปประยุกต์ใช้งานได้ เช่น การสั่งปิดเครื่องคอมพิวเตอร์จำนวนมากระยะไกลผ่านเครือข่ายอินเทอร์เน็ต เป็นต้นครับ

ติดตามบทความต่อไปนะครับ
ขอบคุณครับ

2 ความคิดเห็น:

  1. ไม่ระบุชื่อ26 ธันวาคม 2557 21:39

    สำหรับ Linux หรือ MAC ต้อวใช้ สิทธิ Root หรือเป็น Super User ก่อนใช้ Shutdown ไม่ใช่เหรอครับ

    ตอบลบ
    คำตอบ
    1. ผมพลาดเอง ขออภัยมา ณ ที่นี่ครับ ขอบคุณครับ เพิ่มเติมเนื้อหาแล้วครับ

      ลบ

แสดงความคิดเห็นได้ครับ :)