มีวิธีการเรียงลำดับเอาต์พุต ps ตามเวลาเริ่มต้นกระบวนการดังนั้นใหม่ล่าสุดอยู่ที่ด้านบนหรือด้านล่าง?
บน Linux?
บน SysV5?
บน Mac?
มีวิธีการเรียงลำดับเอาต์พุต ps ตามเวลาเริ่มต้นกระบวนการดังนั้นใหม่ล่าสุดอยู่ที่ด้านบนหรือด้านล่าง?
บน Linux?
บน SysV5?
บน Mac?
คำตอบ:
สิ่งนี้ควรใช้กับ Linux และ SysV5
ps -ef --sort=start_time
tac
คุณสามารถกลับคำสั่งโดยท่อส่งออกผ่าน
watch "ps -ef --sort=start_time | grep -v kworker | tail"
ลินุกซ์:
$ ps aux --sort=lstart
OSX:
$ ps aux -O started
lstart
ให้เวลาแบบเต็ม แต่ไม่สามารถใช้เป็นคีย์เรียงลำดับได้ start_time
ให้เวลาตามปกติภายใน 24 ชั่วโมงที่ผ่านมาคอลัมน์วันที่อื่นและสามารถใช้เป็นคีย์การเรียงลำดับ ทั้งสองให้ 'เริ่ม' ในส่วนหัว
15/12 15:40
ปรากฏขึ้นก่อนหน้า16/12 15:39
นี้เช่นเดียวกับที่13:39
ปรากฏก่อนหน้า15:38
นี้
พร้อมกับคำตอบที่ดีข้างต้นบางครั้งฉันต้องการเห็นผู้กระทำผิด 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
ฉันยังไม่สามารถแสดงความคิดเห็นได้ แต่เพื่อตอบคำถามเกี่ยวกับวิธีการเรียงลำดับเวลาย้อนกลับเพียงแค่ใส่เครื่องหมายลบ ( -
) หน้าฟิลด์
ตัวอย่าง:ps -elf --sort=-start_time
หรือลองใช้ 'ls' เพราะจะช่วยให้สามารถจัดรูปแบบเวลาได้ง่ายและใช้งานง่ายขึ้น
( cd /proc; ls -td --full-time --time-style=+%s [0123456789]*; )
ส่งออกวันที่ / เวลาในยุค, procs ใหม่ที่ด้านบน