Як сортувати вихід 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.