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 เป็นไปได้อย่างง่ายดายและรวดเร็ว