ก่อนอื่นคุณต้องรู้ว่าSignalsในระบบที่เหมือน Unix คืออะไร(ใช้เวลาเพียงไม่กี่นาที)
สัญญาณคือการขัดจังหวะซอฟต์แวร์ที่ส่งไปยังโปรแกรม (กำลังทำงาน) เพื่อระบุว่ามีเหตุการณ์สำคัญเกิดขึ้น
เหตุการณ์อาจแตกต่างกันไปตั้งแต่คำขอของผู้ใช้ไปจนถึงข้อผิดพลาดในการเข้าถึงหน่วยความจำที่ผิดกฎหมาย สัญญาณบางอย่างเช่นสัญญาณขัดจังหวะแสดงว่าผู้ใช้ขอให้โปรแกรมทำบางสิ่งที่ไม่อยู่ในขั้นตอนการควบคุมตามปกติ
มีสัญญาณหลายประเภทที่เราสามารถใช้ได้ - เพื่อรับรายการสัญญาณทั้งหมดที่มี / เป็นไปได้ให้ใช้คำสั่ง" $ kill -l ":
ในเอาต์พุตด้านบนจะเห็นได้ชัดเจนว่าแต่ละสัญญาณมี ' หมายเลขสัญญาณ ' (เช่น 1, 2, 3) และ ' ชื่อสัญญาณ ' (เช่น SIGUP, SIGINT, SIGQUIT) เชื่อมโยงอยู่ หากต้องการดูรายละเอียดว่าแต่ละสัญญาณทำอะไรได้บ้างโปรดไปที่ลิงค์นี้
ในที่สุดก็มาถึงคำถาม "Why number 9 in kill -9 command":
มีหลายวิธีในการส่งสัญญาณไปยังโปรแกรมหรือสคริปต์ วิธีหนึ่งที่ใช้กันทั่วไปในการส่งสัญญาณคือการใช้คำสั่งkill - ไวยากรณ์พื้นฐานคือ:
$ kill -signal pid
โดยที่สัญญาณคือหมายเลขหรือชื่อของสัญญาณตามด้วยรหัสกระบวนการ (pid) ที่สัญญาณจะถูกส่ง
ตัวอย่างเช่น - -SIGKILL (หรือ-9 ) สัญญาณจะฆ่ากระบวนการทันที
$ kill -SIGKILL 1001
และ
$ kill -9 1001
คำสั่งทั้งสองเป็นสิ่งเดียวกันเช่นข้างต้นเราใช้ 'ชื่อสัญญาณ' และต่อมาเราได้ใช้ 'หมายเลขสัญญาณ'
คำตัดสิน : เรามีทางเลือกที่เปิดกว้างว่าจะใช้ 'ชื่อสัญญาณ' หรือ 'หมายเลขสัญญาณ' ด้วยคำสั่งkill