ป้ายกำกับ: macOS

macOS (แมคโอเอส) คือ
ระบบปฏิบัติการคอมพิวเตอร์ของ Apple สำหรับเครื่อง Mac ที่มีจุดเด่นด้านการใช้งานง่าย, อินเทอร์เฟซสวยงาม, ความปลอดภัยสูง และทำงานร่วมกับอุปกรณ์ Apple อื่นๆ ได้อย่างราบรื่น (iPhone, iPad) โดยมีแกนหลักมาจาก UNIX และพัฒนามาอย่างต่อเนื่อง มีชื่อรุ่นตามชื่อสถานที่ในแคลิฟอร์เนีย

ps ตรวจสอบสถานะ Process ใน Linux และ macOSps ตรวจสอบสถานะ Process ใน Linux และ macOS

เคยไหม? คอมพิวเตอร์หรือเซิร์ฟเวอร์อยู่ดีๆ ก็ช้าลง พัดลมหมุนเสียงดัง หรือจู่ ๆ โปรแกรมก็ค้าง สมมติฐานแรกของสาย Dev และ SysAdmin มักจะพุ่งเป้าไปที่“มี Process ไหนกำลังกินทรัพยากรอยู่หรือเปล่า?”และเครื่องมือพื้นฐานที่ทรงพลังที่สุดในการเช็กเรื่องนี้โดยไม่ต้องติดตั้งโปรแกรมเพิ่มก็คือคำสั่ง ps (Process Status)ครับ


💡 ความแตกต่างพื้นฐาน: Linux vs macOS

แม้ว่าทั้ง Linux และ macOS จะเป็นระบบปฏิบัติการตระกูล Unix-like เหมือนกัน และใช้คำสั่ง ps ได้เหมือนกัน แต่เบื้องหลังมีความต่างกันเล็กน้อย

  • Linux (Ubuntu, CentOS, etc.): ส่วนใหญ่ใช้ ps เวอร์ชัน GNU ซึ่งรองรับ Option ทั้งแบบมีขีด (-ef) และแบบไม่มีขีดสไตล์ BSD (aux)
  • macOS: ใช้ ps เวอร์ชัน BSD เป็นหลัก ทำให้อ่าน Option บางตัวของฝั่ง GNU ไม่ได้ แต่ Option มาตรฐานสไตล์ BSD นั้นใช้งานได้ลื่นไหล

ข้อควรระวัง: เวลาเปิดดู Cheat Sheet จากอินเทอร์เน็ต Option บางตัวของ Linux อาจจะเอามาใช้บน Mac แล้วขึ้น Syntax Error ได้ครับ


🚀 4 คำสั่งยอดฮิตที่ต้องจำ (ใช้ได้ทั้ง Linux และ macOS)

หากคุณไม่อยากจำ Option แพลตฟอร์มให้ปวดหัว นี่คือ 4 คำสั่งมาตรฐาน ที่ทำงานได้เหมือนกันทั้งบน Linux และ Mac ครับ

ดู Process ทั้งหมดในระบบ (สไตล์ BSD)

ps aux

  • a = ดู Process ของผู้ใช้ทุกคน
  • u = แสดงรายละเอียดเชิงลึก (เช่น %CPU, %MEM, User)
  • x = รวม Process ที่ไม่ได้รันบน Terminal (เช่น Background Services)

ดู Process ทั้งหมดในระบบ (สไตล์ Standard/Linux)

ps -ef

  • -e = แสดงทุก Process
  • -f = แสดงข้อมูลแบบ Full-format (เห็นสายลำดับ Parent/Child ชัดเจน)

ค้นหา Process ที่ต้องการโดยเฉพาะ (ใช้คู่กับ grep)

ถ้าต้องการหาโปรแกรมเฉพาะเจาะจง เช่น อยากรู้ว่า nginx หรือ node รันอยู่ไหม และได้ PID (Process ID) อะไร ให้ใช้ Pipe (|) คู่กับ grep
ps aux | grep nginx

ดู Process ที่เป็นของตัวเราเอง (Current User)

ps -u $USER


วิธีอ่านผลลัพธ์จากคำสั่ง ps aux

เมื่อกดรัน ps aux สิ่งที่คุณจะเห็นคือตารางขนาดยาว ซึ่งมีหัวข้อหลักๆ ที่ต้องรู้ดังนี้ครับ

หัวข้อ (Column)ความหมาย
USERผู้ที่เป็นเจ้าของ Process นั้น
PIDProcess ID (เลขประจำตัว เอาไว้ใช้สั่ง kill)
%CPUเปอร์เซ็นต์การใช้งาน CPU ในขณะนั้น
%MEMเปอร์เซ็นต์การใช้งาน Memory (RAM) ในขณะนั้น
VSZ / RSSขนาดของ Virtual Memory และ RAM จริงที่ถูกใช้งาน (หน่วยเป็น KB)
TTYหน้าจอ Terminal ที่สั่งรัน (ถ้าขึ้น ? หรือ ?? แปลว่าเป็น Background Service)
STATสถานะของ Process (เช่น R = Running, S = Sleeping, Z = Zombie)
COMMANDคำสั่งหรือพาธของโปรแกรมที่กำลังรันอยู่

🛠️ Advanced Tricks: เทคนิคการใช้งานขั้นสูง

จัดอันดับตัวกินทรัพยากร (Sort)

ถ้าอยากรู้ว่า Process ไหนกำลังแย่ง CPU หรือ RAM มากที่สุด ให้ใช้ Option --sort (บน Linux) หรือสั่ง sort ต่อท้าย (บน Linux/Mac)

  • หาตัวกิน CPU สูงสุด (ใช้ได้ทั้ง Linux/Mac)
    ps aux | sort -nr -k 3 | head -n 10
    (คำสั่งนี้จะดึง 10 อันดับแรกที่กิน CPU สูงสุดออกมาแสดง)
  • หาตัวกิน RAM สูงสุด (ใช้ได้ทั้ง Linux/Mac)
    ps aux | sort -nr -k 4 | head -n 10

สั่งปิดโปรแกรมเจ้าปัญหา (Kill Process)

เมื่อคุณใช้คำสั่ง ps aux | grep โปรแกรม จนเจอเลข PID ของโปรแกรมที่ค้างแล้ว คุณสามารถสั่งปิดมันได้ทันทีด้วยคำสั่ง kill
kill 12345
(เปลี่ยน 12345 เป็นเลข PID จริงของคุณ)
Tip: ถ้ามันค้างหนักมากจนปิดไม่ลง ให้ใช้ไม้ตาย kill -9 12345 เพื่อบังคับปิดทันที (Force Kill)


📝 สรุปสั้นๆ สำหรับผู้เริ่มต้น

  • นึกอะไรไม่ออก ให้พิมพ์ ps aux
  • ถ้าอยากค้นหาโปรแกรม ให้พิมพ์ ps aux | grep ชื่อโปรแกรม
  • ได้เลข PID มาแล้ว โปรแกรมค้าง ให้พิมพ์ kill [เลข PID]

เพียงเท่านี้คุณก็สามารถควบคุมและตรวจสอบพลังงานภายในเครื่อง Linux และ Mac ของคุณได้อย่างมืออาชีพแล้วครับ


อ่านเพิ่มเติม