วิธีการเรียงลำดับเอาต์พุต ps ตามเวลาเริ่มต้นกระบวนการ?


66

มีวิธีการเรียงลำดับเอาต์พุต ps ตามเวลาเริ่มต้นกระบวนการดังนั้นใหม่ล่าสุดอยู่ที่ด้านบนหรือด้านล่าง?

บน Linux?

บน SysV5?

บน Mac?

คำตอบ:


87

สิ่งนี้ควรใช้กับ Linux และ SysV5

ps -ef --sort=start_time

สิ่งนี้ทำงานได้อย่างถูกต้องตามที่ขอขอบคุณ หลังจากขุดมากขึ้นผมไม่แน่ใจว่านี้เป็นไปได้บน Mac OS โดยไม่ต้องบิตของ awk
คณบดีสมิ ธ

1
start_time ทำงาน lstart ไม่ได้ RHEL
Felipe Alvarez

1
ฉันจะกลับคำสั่งซื้อได้อย่างไร
Phu Nguyen

2
@PuhNguyen บิตไปงานเลี้ยง แต่บางทีคนอื่นมีประโยชน์สำหรับเรื่องนี้ tacคุณสามารถกลับคำสั่งโดยท่อส่งออกผ่าน
พอล

1
@Stephane ลองนี้:watch "ps -ef --sort=start_time | grep -v kworker | tail"
Sekenre

11

ลินุกซ์:

$ ps aux --sort=lstart 

OSX:

$ ps aux -O started

2
ฉันกลัวว่าจะไม่มีการเรียงลำดับตามเวลาเริ่มต้น มันจะแสดงเวลาเริ่มต้น แต่ไม่เรียงลำดับ
Dean Smith

2
ความแตกต่างระหว่าง lstart และ start_time ทำให้ฉันออกมาเหมือนกัน - lstartให้เวลาแบบเต็ม แต่ไม่สามารถใช้เป็นคีย์เรียงลำดับได้ start_timeให้เวลาตามปกติภายใน 24 ชั่วโมงที่ผ่านมาคอลัมน์วันที่อื่นและสามารถใช้เป็นคีย์การเรียงลำดับ ทั้งสองให้ 'เริ่ม' ในส่วนหัว
LHMathies

เวลาภายในชั่วโมงที่ผ่านมา: หากกระบวนการเปิดตัวเมื่อวานนี้ในเวลาต่อมากว่าวันนี้มันจะปรากฏขึ้นหลังจากกระบวนการของวันนี้ ... ไม่สามารถใช้งานได้โดยการเรียงลำดับเว้นแต่บิตของ "awk" การเปลี่ยนแปลงที่
Olivier Dulac

@ OlivierDulac: ไม่ใช่สำหรับฉัน 15/12 15:40ปรากฏขึ้นก่อนหน้า16/12 15:39นี้เช่นเดียวกับที่13:39ปรากฏก่อนหน้า15:38นี้
Gauthier

1
lstart ไม่ทำงานสำหรับฉัน start_time ทำ
เฟลิเป้อัลวาเรซ

5

พร้อมกับคำตอบที่ดีข้างต้นบางครั้งฉันต้องการเห็นผู้กระทำผิด 20 อันดับแรกตามกระบวนการที่เรียงลำดับจากมากไปน้อยตามเวลาการใช้งาน cpu% และการใช้หน่วยความจำ

เพื่อที่ฉันจะใช้:

ps auxww --sort=lstart | sort -r -k3,4 | head -20

นี่จะเป็นแพลตฟอร์ม CentOS แต่ฉันก็สนุกกับผลลัพธ์เดียวกันกับ Fedora เช่นกัน

โอ้และสำหรับยิ้มบางครั้งฉันต้องการลบชุดของกระบวนการดังนั้นฉันก็ใช้ตัวแปรที่ด้านบนที่มีการกระทำ grep -v เล็กน้อยเช่น:

ps auxww --sort=lstart | sort -r -k3,4 | grep -v "sbin/httpd" | head -20

--sortของpsไม่ทำงานสำหรับฉัน sortอาศัยเปลือก +1
kellogs

3

ฉันยังไม่สามารถแสดงความคิดเห็นได้ แต่เพื่อตอบคำถามเกี่ยวกับวิธีการเรียงลำดับเวลาย้อนกลับเพียงแค่ใส่เครื่องหมายลบ ( -) หน้าฟิลด์
ตัวอย่าง:ps -elf --sort=-start_time


2

หรือลองใช้ 'ls' เพราะจะช่วยให้สามารถจัดรูปแบบเวลาได้ง่ายและใช้งานง่ายขึ้น

( cd /proc; ls -td --full-time --time-style=+%s [0123456789]*; )

ส่งออกวันที่ / เวลาในยุค, procs ใหม่ที่ด้านบน


นี่แสดงเฉพาะ pids
elig

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