Як сортувати вихід PS за часом початку процесу?


Відповіді:


87

Це має працювати на Linux та SysV5

ps -ef --sort=start_time

Це працює саме так, як вимагали, дякую. Після більшого копання я не впевнений, що це можливо на Mac OS без особливих клопотів
Дін Сміт,

1
start_time працював. lstart цього не зробив. RHEL
Феліпе Альварес

1
як повернути замовлення?
Пху Нгуен

2
@PhuNguyen трохи запізнився на вечірку, але, можливо, хтось інший має для цього користь. Ви можете змінити порядок, пропустивши вихід tac.
Пол

1
@Stephane спробуйте це:watch "ps -ef --sort=start_time | grep -v kworker | tail"
Секенре

11

Linux:

$ ps aux --sort=lstart 

OSX:

$ ps aux -O started

2
Я не боюся жодного з цих типів до часу початку. Він відображає час початку, але не сортує.
Дін Сміт

2
Різниця між lstart і start_time мене також вигнала - lstartдає повну часову позначку , але не може бути використана як ключ сортування. start_timeдає звичайний стовпець "час протягом останніх 24 годин, дата інакше" і може використовуватися як ключ сортування. Обидва дають "ЗАПУСК" у заголовку.
LHMathies

час протягом останньої години: якщо процес був запущений вчора на час пізніше, ніж сьогодні, він з'явиться після сьогоднішнього процесу ... не може бути використаний для сортування, якщо тільки трохи "awk" не зміниться, що
Олів'є Дулак

@OlivierDulac: не для мене. 15/12 15:40з'являється раніше 16/12 15:39, як і 13:39раніше 15:38.
Готьє

1
lstart не працював для мене. start_time зробив.
Феліпе Альварес

5

Поряд із чудовими відповідями, наведеними вище, іноді просто хочеться побачити перших 20 правопорушників за процесом, відсортованим за часом, процесором% та використанням пам'яті.

Для цього я використовую:

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]*; )

Виводить дату / час у епоху, новіші документи зверху.


це показує тільки ИДП
elig

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.