ดูคำสั่งทั้งหมดในเอาต์พุต ps


18

เมื่อรันpsด้วย-fตัวเลือกใน PuTTY (เพื่อดูคำสั่งที่สอดคล้องกับแต่ละกระบวนการ) บรรทัดที่ยาวกว่าความกว้างของเทอร์มินัลจะมองไม่เห็นได้อย่างสมบูรณ์

ฉันจะบังคับให้มีการตัดบรรทัดเพื่อให้ฉันเห็นคำสั่งทั้งหมด (ในหลาย ๆ บรรทัดหากจำเป็น) เมื่อใช้งานได้ps -fอย่างไร


ไม่ใช่คำตอบ แต่ถ้าฉันรัน ps -f ในเทอร์มินัลอีมูเลเตอร์ที่หดตัวเอาท์พุทจะถูกพันเป็นหลายบรรทัด คุณใช้เทอร์มินัลอะไร
MatthewRock

1
นี่อาจเป็นซ้ำของ: stackoverflow.com/questions/2159860/ …
tommygun

@MatthewRock ฉันใช้ PuTTy ที่นี่คุณคิดว่ามันเฉพาะเจาะจงหรือไม่
sdabet

1
@Tonsenson ไม่สามารถปิดได้เนื่องจากการทำซ้ำไซต์
muru

1
@fiddler อาเราไม่สามารถย้ายคำถามเก่า ๆ โดยไม่ต้องมีผู้ดูแลและยังไม่แนะนำ: meta.stackexchange.com/questions/8004/…
muru

คำตอบ:


16

หากคุณมีpsการนำไปใช้งานที่สอดคล้องกับ POSIX คุณอาจลองใช้

ps -f | more

โปรดทราบว่าเมื่อเร็ว ๆ นี้เราได้เปลี่ยนพฤติกรรมและหากคุณมีการใช้งานที่ตามหลังปัญหา POSIX 7 tc2 คุณอาจลอง:

ps -wwf | more

¹ เราเป็นคนที่มีการประชุมทางไกลทุกสัปดาห์เพื่อหารือเกี่ยวกับการพัฒนามาตรฐาน POSIX


1
ps -wwfทำงานได้ดี
sdabet

8

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

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

ps aux | less -+S

ps aux | most -w หากคุณใช้คำสั่งใดคำสั่งหนึ่งต่อไปนี้บรรทัดจะไม่ถูกห่อ แต่คุณสามารถใช้ปุ่มลูกศรหรือปุ่มเคลื่อนไหวอื่น ๆ เพื่อเลื่อนไปทางซ้ายและขวา

ps aux | less -S # ใช้แป้นลูกศรหรือEsc+ (และEsc+ )หรือAlt+ (และ Alt+)

ps aux | most # ใช้ปุ่มลูกศรหรือ<และ>(นอกจากนี้ยังสามารถใช้แท็บเพื่อเลื่อนไปทางขวา) เส้นนั้นจะถูกห่อไว้สำหรับมากขึ้นและ pg

เมื่อps auxใช้ในไพพ์, ตัวเลือก w ไม่จำเป็นเนื่องจาก ps ใช้ความกว้างหน้าจอเฉพาะเมื่อเอาต์พุตอยู่ที่เทอร์มินัล

(หมายเหตุ: สิ่งนี้ใช้ได้กับ Linux ที่ไม่ได้ฝังตัวpsยูทิลิตีสำหรับ Unix รุ่นอื่นอาจทำงานแตกต่างกัน)


@muru หวังว่าตอนนี้ดูดีขึ้นแล้ว ขอบคุณที่ล้างข้อมูลทั้งหมด!
tommygun

และขอโทษที่ทำให้เกิดความยุ่งเหยิง
MatthewRock

1
คำตอบของคุณเท่านั้นที่จะนำไปใช้/usr/ucb/psและแม้จะมีโปรแกรมนี้คุณจะต้องwwเป็น/usr/ucb/psข้อ จำกัด ในการส่งออกไปยังความกว้าง 80 ถ้าออกเป็นท่อ สำหรับ POSIX มาตรฐาน ps ดูคำตอบของฉัน
schily

1
@schily คำตอบนี้ถูกต้องสมบูรณ์สำหรับpsคำสั่งปกติบน Linux ที่ไม่ได้ฝังตัวซึ่งเป็นสิ่งที่ผู้อ่านส่วนใหญ่ที่นี่มี
Gilles 'หยุดความชั่วร้าย'

1
แต่ OP ไม่ได้ตั้งค่า / linux เป็นแท็ก
schily

3

นอกจากนี้ยังมีวิธีแก้ปัญหาง่ายๆอีกอย่าง:

echo "$(ps afx)"

หรือเพียงแค่ps afx
nyxee

1
เฉพาะ "ps fax" เท่านั้นที่จะตัดหลังจากอักขระบางตัว (ฉันเดาความยาวของเทอร์มินัลมาตรฐาน 72 ตัว) echo "$ (คำสั่งของคุณ)" ไวยากรณ์สำหรับการตัดมันไม่ได้
cinatic

ขอบคุณสำหรับสิ่งนั้น ตอนนี้คำสั่งจะทำงานแตกต่างอย่างสิ้นเชิงกับ MacOS (ฉันได้ยินมาจากBSD) และ Ubuntu ( Linux) Linux ไม่แสดงความแตกต่างใด ๆ เมื่อคุณechoหรือไม่ แต่ MAC OS X พิมพ์ได้มากเท่าที่เครื่องสามารถแสดงได้ ฉันใช้และiTerm2 zshMAC ไม่อนุญาต--fตัวเลือก
nyxee


0

คำสั่งสำหรับ MacOS นั้นแตกต่างกันเล็กน้อย echo "$(ps aux)"


คุณไม่ต้องการที่จะผ่านมันโดยechoไม่จำเป็น โปรดสังเกตว่าคำตอบอื่น ๆ อีกหลายข้อ ได้กล่าวถึงแล้วในบางวิธี ฉันจะแนะนำความคิดเห็นหรือการแก้ไขคำตอบที่มีอยู่เพื่อชี้ให้เห็นว่ามันดีสำหรับ MacOS (ซึ่งเป็นสิ่งที่ฉันถือว่าคุณหมายถึง) ps aux
Jeff Schaller

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.