คำสั่ง ps (Process Status) เป็นเครื่องมือหลักของ SysAdmin สำหรับดูกระบวนการ (Processes) ที่กำลังทำงาน Real-time ไวยากรณ์ค่อนข้างซับซ้อน แต่เมื่อจับได้ จะเป็นพลังงานมหาศาล
12 รูปแบบการใช้ ps ที่ทุก Admin ควรจดจำ
- ps -ef - แสดงทุก Process พร้อมรายละเอียดครบ (PID, TTY, CMD, TIME)
- ps -C <name> - กรองตามชื่อ Process (ตัวพิมพ์เล็กทั้งหมด)
- ps -e -u <user> - กรองตาม User
- ps -ef -p 1234,5678 - กรองตาม PID หลายตัว (คั่นด้วยคอมม่า)
- ps -e -o pid,uname,pcpu,pmem,comm - แสดงคอลัมน์ที่ต้องการเฉพาะ
- ps -ef | grep worker - Pipe ไป grep ค้นหา Pattern ในผลลัพธ์
- ps -e --sort=-pcpu -o pid,pcpu,comm - เรียงตาม CPU ใช้สูงสุด (- = DESC, + = ASC)
- ps -e -o pid,pcpu=CPU -o pmem=RAM,comm - เปลี่ยนชื่อหัวคอลัมน์ (PCPU→CPU, PMEM→RAM)
- ps -o pid=Process,ruser=RealUser,comm=Command - ตั้งชื่อคอลัมน์เองทั้งหมด
- ps -f -U root -u root - แสดง Process ของ Root ทั้งหมด (Real & Effective UID)
- ps -p <PID> -L - แสดง Threads ของ Process นั้น
- ps -e --forest - แสดงเป็น Tree Hierarchy (ASCII Art) ใช้
-Hแทนถ้าต้องการซ่อนสาขา
เคล็ดลับเพิ่มเติม
- รวม
watch -n 1 'ps -e --sort=-pcpu -o pid,pcpu,comm | head -20'เพื่อ Monitor Top 20 CPU ทุก 1 วินาที - ใช้
htopหรือbtopแทนสำหรับ UI แบบ Interactive (ต้องติดตั้งแยก)
จดจำคำสั่งเหล่านี้ไว้ จะทำให้การ Troubleshooting Performance และ Process Management ง่ายขึ้นอย่างมาก