ใช้การ-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]
ในขณะที่การส่งออกเป็นเช่นนี้:comm
kthreadd
สิ่งนี้มีความหมายอะไรไหม?