Làm thế nào để sắp xếp đầu ra ps theo thời gian bắt đầu quá trình?


Câu trả lời:


87

Điều này sẽ hoạt động trên Linux và SysV5

ps -ef --sort=start_time

Điều này hoạt động chính xác theo yêu cầu, cảm ơn. Sau khi đào sâu hơn, tôi không chắc điều này có thể xảy ra trên Mac OS mà không cần một chút tỉnh táo
Dean Smith

1
start_time làm việc. lstart thì không. RHEL
Felipe Alvarez

1
Làm thế nào để tôi đảo ngược thứ tự?
Phú Nguyên

2
@PhuNguyen hơi trễ bữa tiệc, nhưng có lẽ ai đó có công dụng cho việc này. Bạn có thể đảo ngược thứ tự bằng cách dẫn đầu ra qua tac.
Paul

1
@Stephane hãy thử điều này:watch "ps -ef --sort=start_time | grep -v kworker | tail"
Sekenre

11

Linux:

$ ps aux --sort=lstart 

OSX:

$ ps aux -O started

2
Tôi không sợ những thứ đó theo thời gian bắt đầu. Nó không hiển thị thời gian bắt đầu, nhưng không sắp xếp.
Dean Smith

2
Sự khác biệt giữa lstart và start_time cũng khiến tôi hiểu ra - lstartđưa ra dấu thời gian đầy đủ, nhưng không thể được sử dụng làm khóa sắp xếp. start_timeđưa ra cột 'thời gian thông thường trong vòng 24 giờ qua, ngày khác' và có thể được sử dụng làm khóa sắp xếp. Cả hai đều cho 'BẮT ĐẦU' trong tiêu đề.
LHMathies

thời gian trong giờ trước: nếu một quy trình được đưa ra vào ngày hôm qua muộn hơn hôm nay, thì nó sẽ xuất hiện sau quy trình hôm nay ... không thể được sử dụng theo cách sắp xếp, trừ khi một chút "awk" thay đổi
Olivier Dulac

@OlivierDulac: không dành cho tôi. 15/12 15:40xuất hiện trước 16/12 15:39, giống như 13:39xuất hiện trước 15:38.
Gauthier

1
lstart đã không làm việc cho tôi. start_time đã làm.
Felipe Alvarez

5

Cùng với các câu trả lời tuyệt vời ở trên, đôi khi tôi chỉ muốn thấy 20 người phạm tội hàng đầu theo quy trình được sắp xếp giảm dần theo thời gian,% cpu và sử dụng bộ nhớ.

Cho rằng tôi sử dụng:

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

Điều này sẽ có trên nền tảng CentOS, mặc dù tôi cũng rất thích kết quả tương tự trên Fedora.

Ồ và đối với các nụ cười, đôi khi tôi muốn xóa một tập hợp các quy trình, vì vậy tôi chỉ cần sử dụng một biến thể ở trên bao gồm một chút hành động grep -v, chẳng hạn như:

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

--sortcủa pskhông làm việc cho tôi. Dựa vào vỏ sort. +1
kelloss

3

Tôi chưa thể nhận xét, nhưng để trả lời câu hỏi về cách đảo ngược thứ tự sắp xếp thời gian, chỉ cần đặt dấu trừ ( -) trước trường.
Thí dụ:ps -elf --sort=-start_time


2

Hoặc thử 'ls', vì nó cho phép các định dạng thời gian dễ sắp xếp và dễ sử dụng hơn.

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

Xuất ra ngày / giờ trong epoch, procs mới nhất ở trên cùng.


Điều này chỉ hiển thị các pids
elig

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.