ตัวอย่างการใช้คำสั่ง Linux ps

บทนำ

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

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

คำสั่ง ps ใช้ทั่วไปร่วมกับ คำสั่ง grep และ คำสั่ง มาก หรือ น้อย

คำสั่งเพิ่มเติมเหล่านี้ช่วยในการกรองและแบ่งแยกเอาต์พุตจาก ps ซึ่งมักใช้เวลานานมาก

วิธีการใช้คำสั่ง PS

คำสั่ง ps ของตัวเองจะแสดงกระบวนการทำงานโดยผู้ใช้เรียกใช้งานภายในหน้าต่างเทอร์มินัล

เพื่อเรียก ps เพียงพิมพ์ต่อไปนี้:

PS

ผลลัพธ์จะแสดงแถวของข้อมูลที่มีข้อมูลต่อไปนี้:

PID คือรหัสกระบวนการที่ระบุกระบวนการทำงาน TTY เป็นประเภทเทอร์มินัล

คำสั่ง ps ของตัวเองค่อนข้าง จำกัด คุณอาจต้องการดูกระบวนการทำงานทั้งหมด

เมื่อต้องการดูกระบวนการทำงานทั้งหมดใช้คำสั่งต่อไปนี้:

ps -A

ps -e

เมื่อต้องการแสดงกระบวนการทั้งหมดยกเว้นผู้นำเซสชันเรียกใช้คำสั่งต่อไปนี้:

ps -d

ดังนั้นหัวหน้าเซสชั่นคืออะไร? เมื่อกระบวนการหนึ่งเริ่มกระบวนการอื่น ๆ มันเป็นผู้นำเซสชั่นของกระบวนการอื่น ๆ ทั้งหมด ลองนึกภาพกระบวนการ A ปิดกระบวนการ B และกระบวนการ C. กระบวนการ B จะเริ่มกระบวนการ D และกระบวนการ C จะปิดกระบวนการ E. เมื่อคุณทำรายการกระบวนการทั้งหมดยกเว้นหัวหน้าเซสชันคุณจะเห็น B, C, D และ E แต่ไม่ใช่ A.

คุณสามารถยกเลิกการเลือกใด ๆ ที่คุณได้เลือกโดยใช้สวิตช์ -N ตัวอย่างเช่นถ้าคุณต้องการดูเพียงผู้นำเซสชันเรียกใช้คำสั่งต่อไปนี้:

ps -d -N

เห็นได้ชัดว่า -N ไม่สมเหตุสมผลมากเมื่อใช้กับ -e หรือ -A เนื่องจากไม่มีอะไรแสดงเลย

หากคุณต้องการดูเฉพาะกระบวนการที่เกี่ยวข้องกับเทอร์มินัลนี้ให้รันคำสั่งต่อไปนี้:

ps T

ถ้าคุณต้องการดูกระบวนการทำงานทั้งหมดโดยใช้คำสั่งต่อไปนี้:

ps r

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

คุณสามารถส่งคืนเฉพาะกระบวนการโดยใช้คำสั่ง ps และมีหลายวิธีในการเปลี่ยนเกณฑ์การเลือก

ตัวอย่างเช่นถ้าคุณรู้รหัสกระบวนการคุณสามารถใช้คำสั่งต่อไปนี้:

ps -p

คุณสามารถเลือกหลายกระบวนการโดยการระบุ ID กระบวนการหลายรายการดังนี้:

ps -p "1234 9778"

นอกจากนี้คุณยังสามารถระบุได้โดยใช้รายการที่คั่นด้วยจุลภาค:

ps -p 1234,9778

มีโอกาสที่คุณจะไม่ทราบรหัสกระบวนการและสามารถค้นหาโดยใช้คำสั่งได้ง่ายขึ้น เมื่อต้องการทำเช่นนี้ใช้คำสั่งต่อไปนี้:

ps -C

ตัวอย่างเช่นหากต้องการดูว่า Chrome ทำงานอยู่หรือไม่คุณสามารถใช้คำสั่งต่อไปนี้:

ps โครเมี่ยม

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

วิธีอื่น ๆ ในการกรองผลลัพธ์คือตามกลุ่ม คุณสามารถค้นหาตามชื่อกลุ่มโดยใช้ไวยากรณ์ต่อไปนี้:

ps -G
ps - กลุ่ม

ตัวอย่างเช่นเพื่อหากระบวนการทั้งหมดที่ดำเนินการโดยกลุ่มบัญชีให้พิมพ์ข้อมูลต่อไปนี้:

ps -G "บัญชี"
ps - กลุ่ม "บัญชี"

นอกจากนี้คุณยังสามารถค้นหาตามกลุ่ม id แทนชื่อกลุ่มโดยใช้ตัวพิมพ์เล็ก g ดังนี้:

ps -g
ps - กลุ่ม

หากคุณต้องการค้นหาด้วยรายการรหัสเซสชันใช้คำสั่งต่อไปนี้:

ps -s

หรือใช้ข้อมูลต่อไปนี้เพื่อค้นหาตามประเภทเทอร์มินัล

ps -t

ถ้าคุณต้องการค้นหากระบวนการทั้งหมดที่ดำเนินการโดยผู้ใช้เฉพาะลองคำสั่งต่อไปนี้:

ps U

เช่นเพื่อหากระบวนการทั้งหมดวิ่งโดย gary เรียกใช้ต่อไปนี้:

ps U "gary"

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

ถ้าฉันเข้าสู่ระบบในฐานะ Tom และใช้ sudo เพื่อรันคำสั่งเช่นเดียวกับฉันแล้วคำสั่งดังกล่าวจะแสดงคำสั่งของ Tom ว่าถูกเรียกใช้โดย gary ไม่ใช่ tom

เพื่อ จำกัด รายการให้เป็นเพียงกระบวนการที่ใช้งานได้จริงโดย gary ใช้คำสั่งต่อไปนี้:

ps-U "gary"

การจัดรูปแบบเอาต์พุตคำสั่ง PS

โดยค่าเริ่มต้นคุณจะได้รับเดียวกัน 4 คอลัมน์เมื่อคุณใช้คำสั่ง ps:

คุณสามารถรับรายชื่อโดยใช้คำสั่งต่อไปนี้:

ps -ef

-e ตามที่คุณทราบจะแสดงกระบวนการทั้งหมดและ f หรือ -f จะแสดงรายละเอียดทั้งหมด

คอลัมน์ที่ส่งคืนมีดังนี้:

User ID คือผู้ที่รันคำสั่ง PID คือรหัสกระบวนการของคำสั่ง PPID เป็นกระบวนการหลักที่ทำให้คำสั่งล้มเหลว

คอลัมน์ C แสดงจำนวนเด็กที่มีกระบวนการ เวลาเริ่มต้นเป็นเวลาเริ่มต้นของกระบวนการ TTY คือเทอร์มินัลเวลาคือจำนวนเวลาที่ใช้ในการรันและคำสั่งคือคำสั่งที่รัน

คุณสามารถรับคอลัมน์ได้มากขึ้นโดยใช้คำสั่งต่อไปนี้:

ps -F

นี้ส่งกลับคอลัมน์ต่อไปนี้:

คอลัมน์พิเศษคือ SZ, RSS และ PSR SZ คือขนาดของกระบวนการ RSS คือขนาดหน่วยความจำที่แท้จริงและ PSR คือโปรเซสเซอร์ที่กำหนดให้กับคำสั่ง

คุณสามารถระบุรูปแบบที่ผู้ใช้กำหนดโดยใช้สวิตช์ต่อไปนี้:

ps -e - รูปแบบ

รูปแบบที่ใช้ได้มีดังนี้:

มีตัวเลือกอื่น ๆ อีกมากมาย แต่ส่วนใหญ่จะใช้กันทั่วไป

ในการใช้รูปแบบให้พิมพ์ข้อมูลต่อไปนี้:

ps -e --format = "uid uname cmd time"

คุณสามารถผสมและจับคู่รายการตามต้องการได้

การเรียงลำดับเอาท์พุท

เมื่อต้องการเรียงลำดับเอาต์พุตใช้สัญกรณ์ต่อไปนี้:

ps -ef - คัดลอก

ทางเลือกของตัวเลือกการจัดเรียงมีดังนี้:

อีกครั้งมีทางเลือกมากขึ้น

คำสั่ง sort ตัวอย่างมีดังนี้:

ps -ef - กำหนดผู้ใช้ pid

ใช้ ps กับ grep คำสั่งที่น้อยลงและมากขึ้น

ตามที่กล่าวไว้ในตอนต้นเป็นเรื่องปกติที่จะใช้ ps กับคำสั่ง grep น้อยลงและมากขึ้น

คำสั่งที่น้อยลงจะช่วยให้คุณสามารถกรองผลการค้นหาได้ทีละหน้า เมื่อต้องการใช้คำสั่งเหล่านี้เพียงแค่เอาท่อออกจาก grep ไปเป็นดังนี้:

ps -ef | มากกว่า
ps -ef | น้อยกว่า

คำสั่ง grep ช่วยให้คุณสามารถกรองผลลัพธ์จากคำสั่ง ps ได้

ตัวอย่างเช่น:

ps -ef | โครเมียม grep

สรุป

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

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

เพื่อหาข้อมูลเพิ่มเติมอ่านหน้า man Linux สำหรับคำสั่ง ps