นโยบายการจัดการความรู้ มหาวิทยาลัยสงขลานครินทร์ 1.ให้ใช้เครื่องมือการจัดการความรู้ผลักดัน คุณภาพคน และกระบวนทำงาน 2.ส่งเสริมการแลกเปลี่ยนประสบการณ์การทำงาน จากหน้างาน 3.ส่งเสริมให้มีเวทีเรียนรู้ร่วมกัน
อ่าน: 2540
ความเห็น: 1

ปิดเครือง server โดยใช้วิธีการ Ctrl+Alt+Del -- ภาค ubuntu

เหมือนภาคที่แล้ว เปลี่ยนเฉพาะ นางเอก เป็นป้าอุ๊ แทนคุณยายเด็บ

สืบเนื่องจากบันทึกที่แล้ว คุณป้อมทันตะ บอกว่าใช้ ubuntu อยู่ แต่หาไฟล์ /etc/inittab ไม่เจอ

พอลองไป search หาดู ก็จริงอย่างที่คิด ubuntu ไม่ได้ใช้ SystemV init -- sysvinit อีกต่อไปแล้วแต่เปลี่ยนไปใช้ upstart แทน

บนระบบ Unix จะมีระบบ init อยู่หลายตัว ที่เป็นที่นิยมบน Linux distribution คือ System V แต่ไม่ทุกตัว (distribution ของ Linux นี่ ลักษณะนามเป็นตัวหรือเปล่า?)  อย่างเช่น Slackware ก็จะใช้ BSD init เหมือนกับ Unix ตระกูล BSD  ส่วนใหญ่

init เป็นโปรแกรมตัวแรกที่ตัว Unix kernel จะเรียกใช้  ทั้ง sysvinit และ BSD init ทั้งสองตัวนี้มีลักษณะที่แตกต่างกันพอสมควร

Richard Gooch อธิบายเกี่ยวกับการทำงานของ sysvinit และ BSD init ไว้ดีพอสมควรใน Linux Boot Script ซึ่ง เป็นส่วนของการเพิ่มขยาย simpleinit ซึ่งเป็น system init อีกตัวนึง

นอกเหนือไปจาก System V init และ BSD init แล้ว ก็ยังมีการพัฒนา system init ออกมาอีกหลายตัว

เช่น  runit และ simpleinit ดังที่กล่าวไปแล้ว ตัวที่รู้จักล่าสุดก็คือ upstart ที่ ubuntu เอามาใช้แทน sysvinit

คำถามของคุณป้อมก็คือ ถ้าจะไปแก้ system init ของ ubuntu เพื่อให้ การกดปุ่ม Ctrl+Alt+Del แล้วเป็นการ shutdown เครื่องแบบ Halt แทนที่จะเป็น Reboot จะต้องไปแก้ที่ใหน

ผมไม่ได้ใช้ ubuntu เลยต้องพึ่ง พี่กู -- กูเกิล (ยืมสำนวนพี่วิภัทรมาใช้) ก็ได้ความว่า

upstart จะใช้ job definition สำหรับกำหนดว่า จะจัดการกับ event ใหน อย่างไร ในกรณีของ การจัดการกับ Ctrl+Alt+Del ซึ่งถือเป็น event ที่มาตรฐานอันนึง ซึ่งรู้จักกันดีบนเครื่อง PC ตั้งแต่สมัย DOS ยังรุ่งเรือง

job description file ซึ่งใช้ในการจัดการกับ event จะเก็บไว้ใน /etc/event.d

สำหรับ event Ctrl+Alt+Del ตามตัวอย่างของ upstart example jobs  ซึ่ง สามารถ download ได้จาก  http://upstart.ubuntu.com/download/example-jobs/0.3/example-jobs-0.3.9.tar.gz 

จะมีไฟล์ที่ชื่อว่า control-alt-delete อยู่ ซึ่งมีข้อมูลในไฟล์ดังนี้

# control-alt-delete - emergency keypress handling
#
# This task is run whenever the Control-Alt-Delete key combination is
# pressed.  Usually used to shut down the machine.

start on control-alt-delete

exec /sbin/shutdown -r now "Control-Alt-Delete pressed"

เพราะฉะนั้น ถ้าต้องการ เปลี่ยนให้ ubuntu server เปลี่ยนจาก Reboot เป็น Halt ก็ copy file นี้ไปไว้ใน /etc/event.d (ถ้ายังไม่มีไฟล์ control-alt-delete นี้ ใน /etc/event.d) และแก้ไขไฟล์ โดยเปลี่ยน option ของ คำสั่ง shutdown จาก "-r" เป็น "-h" เท่านั้นเองครับ

ขอบคุณคุณป้อม สำหรับคำถามครับ :)

หมวดหมู่บันทึก: เรื่องทั่วไป
คำสำคัญ (keywords): control-alt-delete  ctrl+alt+del  shutdown  ubuntu  upstart
สัญญาอนุญาต: สงวนสิทธิ์ทุกประการ Copyright
สร้าง: 22 พฤษภาคม 2551 16:29 แก้ไข: 21 มิถุนายน 2552 14:39 [ แจ้งไม่เหมาะสม ]
ดอกไม้
สมาชิกที่ให้กำลังใจ
 
Facebook
Twitter
Google

บันทึกอื่นๆ

ความเห็น

Ico48
pomdent [IP: 192.168.100.112]
22 พฤษภาคม 2551 17:53
#29684
  • ขอบคุณเช่นกันครับ สำหรับคำตอบ ;)
  • เรามาเปลี่ยนโอกาสให้เป็นวิกิ (wiki) กันเถอะ

ร่วมแสดงความเห็นในหน้านี้

ชื่อ:
อีเมล:
IP แอดเดรส: 18.210.24.208
ข้อความ:  
เรียกเครื่องมือจัดการข้อความ
   
ยกเลิก หรือ