0Pricing
Linux Command Line & Bash Scripting Mastery · บทเรียน

การจัดการกระบวนการ (ps, top, kill)

เรียนรู้วิธีแสดงรายการ ตรวจสอบ และยุติกระบวนการที่กำลังทำงานในระบบ พร้อมทำความเข้าใจรหัสและสถานะของกระบวนการ

การจัดการกระบวนการ (ps, top, kill) เป็นบทเรียน Linux Command Line & Bash Scripting Mastery ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Linux Command Line & Bash Scripting Mastery และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Linux Command Line & Bash Scripting Mastery มีบทเรียนทั้งหมด 4 บทเรียน

กระบวนการคืออะไร

ใน Linux กระบวนการคืออินสแตนซ์ของโปรแกรมที่กำลังทำงานอยู่ ทุกคำสั่งที่คุณเรียกใช้และทุกแอปพลิเคชันที่คุณเปิดจะทำงานเป็นกระบวนการหนึ่งกระบวนการหรือมากกว่า

  • ระบบปฏิบัติการเป็นผู้จัดการกระบวนการ
  • การทำความเข้าใจกระบวนการเป็นสิ่งสำคัญต่อการตรวจสอบสถานะของระบบและการแก้ไขปัญหา

การแสดงรายการโพรเซสด้วย `ps`

คำสั่ง ps (สถานะโพรเซส) ใช้แสดงข้อมูลเกี่ยวกับโพรเซสที่กำลังทำงานอยู่ในขณะนั้น

ตามค่าเริ่มต้น คำสั่งนี้จะแสดงโพรเซสที่เกี่ยวข้องกับเซสชันเทอร์มินัลปัจจุบันของคุณ

ข้อมูลโพรเซสโดยละเอียด (`ps aux`)

หากต้องการดูโพรเซสทั้งหมดที่กำลังทำงานอยู่ในระบบ รวมถึงโพรเซสที่ผู้ใช้อื่นหรือบริการระบบเริ่มทำงาน เราจะใช้ตัวเลือกอย่าง aux หรือ -ef

  • ps aux: แสดงโพรเซสทั้งหมด รวมถึงโพรเซสที่ไม่ได้เชื่อมต่อกับเทอร์มินัล
  • ps -ef: แสดงโพรเซสทั้งหมดในรูปแบบรายการแบบเต็ม

ลองเรียกใช้ ps aux แล้วส่งผลลัพธ์ต่อไปยัง head เพื่อดูสองสามบรรทัดแรก:

ps aux | head -n 5

ทำความเข้าใจผลลัพธ์ของ `ps`

ผลลัพธ์จาก ps aux มีคอลัมน์สำคัญหลายคอลัมน์:

  • USER: ผู้ใช้ที่เป็นเจ้าของโพรเซส
  • PID: รหัสโพรเซส ที่ไม่ซ้ำกัน
  • %CPU: เปอร์เซ็นต์การใช้งาน CPU
  • %MEM: เปอร์เซ็นต์การใช้งานหน่วยความจำ
  • COMMAND: คำสั่งที่เริ่มโพรเซส

PID มีความสำคัญเป็นพิเศษต่อการจัดการโพรเซส

การตรวจสอบแบบเรียลไทม์ด้วย `top`

ขณะที่ ps แสดงภาพรวม ณ ช่วงเวลาหนึ่ง คำสั่ง top จะแสดงมุมมองแบบไดนามิกและเรียลไทม์ของโพรเซสที่กำลังทำงาน

คำสั่งนี้จะอัปเดตข้อมูลอย่างต่อเนื่อง โดยแสดงโพรเซสที่ใช้ทรัพยากรมากที่สุด

การแปลความหมายตัวชี้วัดของ `top`

เมื่อคุณเรียกใช้ top คุณจะเห็นข้อมูลสรุปด้านบนและรายการโพรเซสด้านล่าง

  • Load Average: ค่าเฉลี่ยภาระงานของระบบในช่วง 1, 5 และ 15 นาที
  • Tasks: จำนวนโพรเซสทั้งหมด โพรเซสที่กำลังทำงาน กำลังพัก หยุดทำงาน และเป็นซอมบี้
  • %Cpu(s): การใช้ CPU
  • Mem: หน่วยความจำทั้งหมด หน่วยความจำว่าง หน่วยความจำที่ใช้ และหน่วยความจำบัฟเฟอร์
  • Process List: คอลัมน์คล้ายกับ ps แต่จัดเรียงอยู่ตลอดเวลา โดยค่าเริ่มต้นจะเรียงตาม CPU

การค้นหาโพรเซสที่ระบุ

คุณสามารถใช้ ps ร่วมกับ grep เพื่อกรองหาโพรเซสที่ต้องการ เช่น การค้นหาโพรเซสทั้งหมดที่เกี่ยวข้องกับ 'bash'

ส่วน grep -v grep ช่วยตัดคำสั่ง grep เองออกจากผลลัพธ์

ps aux | grep -i "bash" | grep -v "grep"

การยุติโพรเซสด้วย `kill`

บางครั้งโพรเซสอาจค้างหรือใช้ทรัพยากรมากเกินไป คำสั่ง kill ช่วยให้คุณส่งสัญญาณไปยังโพรเซส โดยทั่วไปเพื่อยุติโพรเซสเหล่านั้น

คุณต้องทราบ PID ของโพรเซสที่ต้องการยุติ

ทำความเข้าใจสัญญาณของ `kill`

เมื่อใช้ kill คุณกำลังส่ง "สัญญาณ" ไปยังโพรเซส สัญญาณเริ่มต้นคือ SIGTERM (15) ซึ่งขอให้โพรเซสปิดการทำงานอย่างเรียบร้อย

  • kill PID: ส่ง SIGTERM
  • kill -9 PID: ส่ง SIGKILL ซึ่งเป็นการยุติแบบบังคับที่โพรเซสไม่สามารถเพิกเฉยได้ โปรดใช้อย่างระมัดระวัง

คุณสามารถแสดงสัญญาณทั้งหมดที่มีได้ด้วย kill -l:

kill -l

ตัวอย่างการใช้ `kill`

มาฝึกยุติโพรเซสเบื้องหลังอย่างง่ายกัน เราจะเริ่มคำสั่ง sleep ในเบื้องหลัง ค้นหา PID ของคำสั่ง แล้วใช้ kill เพื่อหยุดคำสั่งนั้น

เรียกใช้โค้ดด้านล่าง หลังจากทำงานแล้ว คุณจะเห็น PID ของโพรเซส sleep จากนั้นให้พิมพ์ kill <PID> ในเทอร์มินัลด้วยตนเอง (แทนที่ <PID> ด้วยหมายเลขจริง) เพื่อหยุดโพรเซส

# Step 1: Start a dummy process in the background
sleep 300 &
echo "Sleep process started. Now finding its PID..."

# Step 2: Find its Process ID (PID)
# Look for the 'sleep' process in the output
ps aux | grep -i "sleep" | grep -v "grep"

# Step 3: To kill it, manually type 'kill <PID>'
# Example: kill 12345

ตรวจสอบความเข้าใจอย่างรวดเร็ว: การจัดการโพรเซส

คุณได้เรียนรู้การแสดงรายการ การตรวจสอบ และการยุติโพรเซสแล้ว มาทดสอบความเข้าใจกัน

ทบทวน: การจัดการโพรเซส

ทำได้ดีมาก คุณเชี่ยวชาญคำสั่ง Linux ที่จำเป็นสำหรับการจัดการโพรเซสแล้ว:

  • ps: แสดงรายการโพรเซสและดูภาพรวมสถานะของโพรเซส
  • top: ตรวจสอบโพรเซสของระบบและการใช้ทรัพยากรแบบไดนามิกและเรียลไทม์
  • kill: ส่งสัญญาณไปยังโพรเซส โดยหลักแล้วใช้เพื่อยุติโพรเซสอย่างเรียบร้อย (SIGTERM) หรือแบบบังคับ (SIGKILL)

เครื่องมือเหล่านี้มีความสำคัญอย่างยิ่งต่อการดูแลระบบและการแก้ไขปัญหา

คำถามที่พบบ่อย

บทเรียน “การจัดการกระบวนการ (ps, top, kill)” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “การจัดการกระบวนการ (ps, top, kill)” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Linux Command Line & Bash Scripting Mastery ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Linux Command Line & Bash Scripting Mastery มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “การจัดการกระบวนการ (ps, top, kill)”

เรียนรู้วิธีแสดงรายการ ตรวจสอบ และยุติกระบวนการที่กำลังทำงานในระบบ พร้อมทำความเข้าใจรหัสและสถานะของกระบวนการ คุณปฏิบัติ Linux Command Line & Bash Scripting Mastery ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Linux Command Line & Bash Scripting Mastery หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Linux Command Line & Bash Scripting Mastery บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน

บทเรียน “การจัดการกระบวนการ (ps, top, kill)” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Linux Command Line & Bash Scripting Mastery นี้ได้ไหม

ได้ บทเรียน Linux Command Line & Bash Scripting Mastery ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. การจัดการกระบวนการ (ps, top, kill)
  2. การเปลี่ยนเส้นทางข้อมูลนำเข้าและผลลัพธ์ (>, >>, <)
  3. การต่อคำสั่งด้วยไพป์ (|)
  4. งานเบื้องหลังและการควบคุมงาน
← กลับไปที่ Linux Command Line & Bash Scripting Mastery