Skip to main content

การใช้ Process Management ใน Linux

บทนำ​

การจัดการกระบวนการ (Process Management) เป็นส่วนสำคัญของการทำงานในระบบปฏิบัติการ Linux โดยช่วยให้ผู้ใช้สามารถตรวจสอบและควบคุมกระบวนการต่างๆ ที่กำลังทำงานบนเครื่องเซิร์ฟเวอร์หรือคอมพิวเตอร์ ซึ่งรวมถึงการดูรายละเอียดกระบวนการ การหยุดกระบวนการ และการจัดลำดับความสำคัญของกระบวนการ ในบทนี้เราจะเรียนรู้เกี่ยวกับเครื่องมือต่างๆ ที่ใช้ในการจัดการกระบวนการใน Linux

1. การดูรายการกระบวนการ​

1.1 การใช้คำสั่ง ps​

คำสั่ง ps ใช้เพื่อแสดงรายการของกระบวนการที่กำลังทำงานในระบบ

1.1.1 การแสดงกระบวนการทั้งหมด​

ps -e
  • -e แสดงกระบวนการทั้งหมดที่กำลังทำงาน

1.1.2 การแสดงรายละเอียดกระบวนการ​

ps -ef
  • -f แสดงข้อมูลเพิ่มเติม เช่น ชื่อผู้ใช้, PID, PPID (Parent Process ID)

1.1.3 การแสดงกระบวนการที่เกี่ยวข้องกับผู้ใช้​

ps -u username
  • -u username แสดงกระบวนการที่ทำงานโดยผู้ใช้ที่ระบุ

1.2 การใช้คำสั่ง top​

คำสั่ง top ใช้เพื่อแสดงกระบวนการที่กำลังทำงานในรูปแบบที่อัปเดตแบบเรียลไทม์

top

การใช้คำสั่งนี้จะแสดงรายการกระบวนการที่กำลังทำงาน รวมถึงการใช้ทรัพยากร CPU, RAM และข้อมูลอื่นๆ ที่เกี่ยวข้อง

1.3 การใช้คำสั่ง htop​

htop เป็นเครื่องมือที่มีการแสดงผลที่ใช้งานง่ายกว่า top และสามารถใช้เพื่อดูรายละเอียดกระบวนการแบบเรียลไทม์

htop
  • หาก htop ยังไม่ได้ติดตั้งสามารถติดตั้งได้ด้วยคำสั่ง sudo apt install htop (สำหรับระบบที่ใช้ apt)

2. การจัดการกระบวนการ​

2.1 การหยุดกระบวนการ​

2.1.1 การใช้คำสั่ง kill​

คำสั่ง kill ใช้ในการหยุดกระบวนการโดยการส่งสัญญาณ

kill PID
  • PID คือหมายเลขกระบวนการที่ต้องการหยุด

2.1.2 การใช้คำสั่ง killall​

คำสั่ง killall ใช้เพื่อหยุดกระบวนการทั้งหมดที่มีชื่อเดียวกัน

killall process_name
  • process_name คือชื่อของกระบวนการที่ต้องการหยุด

2.1.3 การใช้สัญญาณพิเศษ​

สามารถส่งสัญญาณพิเศษเช่น SIGKILL เพื่อบังคับหยุดกระบวนการ

kill -9 PID
  • -9 คือการส่งสัญญาณ SIGKILL ซึ่งจะหยุดกระบวนการทันทีโดยไม่สามารถจับได้

2.2 การจัดลำดับความสำคัญของกระบวนการ​

2.2.1 การใช้คำสั่ง nice​

คำสั่ง nice ใช้ในการตั้งค่าความสำคัญของกระบวนการใหม่

nice -n 10 command
  • -n 10 กำหนดลำดับความสำคัญ (ค่าเริ่มต้นคือ 0 และค่ายิ่งมากหมายความว่ากระบวนการจะมีลำดับความสำคัญต่ำลง)

2.2.2 การใช้คำสั่ง renice​

คำสั่ง renice ใช้ในการเปลี่ยนลำดับความสำคัญของกระบวนการที่กำลังทำงาน

renice -n 15 -p PID
  • -n 15 กำหนดลำดับความสำคัญใหม่
  • -p PID ระบุหมายเลขกระบวนการ

3. การตรวจสอบข้อมูลกระบวนการ​

3.1 การใช้คำสั่ง pstree​

คำสั่ง pstree ใช้แสดงแผนผังกระบวนการในรูปแบบต้นไม้ ซึ่งช่วยให้เห็นความสัมพันธ์ระหว่างกระบวนการต่างๆ

pstree

คำสั่งนี้จะแสดงกระบวนการทั้งหมดในระบบในรูปแบบแผนผัง

3.2 การใช้คำสั่ง pgrep​

คำสั่ง pgrep ใช้เพื่อค้นหาหมายเลข PID ของกระบวนการที่มีชื่อที่ระบุ

pgrep process_name

คำสั่งนี้จะแสดง PID ของกระบวนการที่มีชื่อ process_name

4. การใช้ Process Management กับการทำงานแบบ Background​

4.1 การใช้ & เพื่อทำงานใน Background​

สามารถใช้เครื่องหมาย & เพื่อรันคำสั่งใน background

command &

คำสั่งนี้จะรันคำสั่ง command ใน background โดยไม่บล็อกเทอร์มินัล

4.2 การใช้ jobs เพื่อดูรายการกระบวนการ Background​

คำสั่ง jobs ใช้เพื่อดูรายการกระบวนการที่รันอยู่ใน background

jobs

4.3 การนำกระบวนการกลับมาใช้งานใน Foreground​

สามารถใช้คำสั่ง fg เพื่อนำกระบวนการกลับมาทำงานใน foreground

fg %job_number
  • job_number คือหมายเลขของกระบวนการที่ต้องการนำกลับมาใช้งาน

4.4 การหยุดกระบวนการ Background​

สามารถใช้คำสั่ง bg เพื่อทำให้กระบวนการหยุดชั่วคราวกลับมาทำงานใน background

bg %job_number

5. สรุป​

การจัดการกระบวนการใน Linux มีเครื่องมือหลายประเภทที่ช่วยให้ผู้ใช้สามารถตรวจสอบและควบคุมกระบวนการได้อย่างมีประสิทธิภาพ เครื่องมือที่สำคัญ ได้แก่ ps, top, htop, kill, nice, และ renice การใช้คำสั่งเหล่านี้ช่วยให้การจัดการกระบวนการในระบบ Linux เป็นไปได้อย่างง่ายดายและรวดเร็ว