ใช้การ-oตั้งค่าสถานะ
เพื่อแสดงรายการกระบวนการของคุณเองเท่านั้น
ps -o command
เพื่อแสดงรายการกระบวนการของระบบทั้งหมด
ps -e -o command
นี่ไม่ใช่วิธีเดียวที่จะแสดงรายการคำสั่ง แต่สามารถพิมพ์ด้วยแฟล็กบรรทัดคำสั่งหรือใช้งานได้เท่านั้น (ซึ่งเป็นcommandตัวเลือกที่ทำ)
จากความคิดเห็นของฉันตะโกนคำตอบ:
คำสั่ง args และ cmd ทั้งหมดให้คำสั่งแบบเต็ม ในความเป็นจริงคำสั่ง man page states และ cmd เป็น alias สำหรับ args โดยมี - แฟล็กรวมอยู่ คอมมิชชันให้ชื่อของ exacutable เท่านั้น นามแฝงกับ ucmd และ ucomm ฉันเข้าใจผิดเกี่ยวกับตัวเลือกของ AIX สิ่งเหล่านั้นสามารถระบุได้จริงด้วยรูปแบบเหมือน printf,% a สำหรับ args,% c สำหรับการสื่อสาร
อ้างถึงman psสำหรับข้อมูลเพิ่มเติมเกี่ยวกับการใช้งานและตัวเลือกรูปแบบที่มีให้
วิธีการโปรแกรมเป็นบิตซ้ำซ้อนเนื่องจากpsให้เรามีตัวเลือกการจัดรูปแบบแล้ว แต่ก็สามารถทำได้ด้วยawkซึ่งมีประโยชน์มากเมื่อจัดการกับการส่งออกคอลัมน์
ps aux | awk '{ for(i=1;i<=NF;i++) {if ( i >= 11 ) printf $i" "}; printf "\n" }'
john doeหมายเหตุอย่างไรที่แบ่งรหัสนี้ถ้าชื่อผู้ใช้มีช่องว่างเช่น สิ่งนี้สามารถแก้ไขได้ด้วยการเพิ่มgsubฟังก์ชั่นที่จะตัดชื่อผู้ใช้ของคุณออกจากpsรายการ อย่างไรก็ตามหากมีผู้ใช้หลายคนเข้าสู่ระบบอาจเป็นเรื่องยากที่จะลบชื่อผู้ใช้ทั้งหมดจากผลลัพธ์ ดังนั้นคุณจะเห็นว่าการ-oตั้งค่าสถานะนั้นเป็นที่ต้องการมากกว่า
หมายเหตุด้านข้างsudoไม่จำเป็นสำหรับรายการกระบวนการทั้งหมดด้วยps
ps -eo command&ps -eo comm? ข้อแตกต่างที่ฉันพบได้ในcommandการส่งออกก็เป็นเช่น:[kthreadd]ในขณะที่การส่งออกเป็นเช่นนี้:commkthreaddสิ่งนี้มีความหมายอะไรไหม?