|
0 / 0 / 0
Регистрация: 24.12.2018
Сообщений: 3
|
|
Процессы запущенные вчера или ранее30.01.2020, 19:48. Показов 3858. Ответов 26
Метки нет (Все метки)
Хочу написать скрипт который выводит список пользователей (их логины, и ничего более), чьи процессы запущены вчера или ранее.
Думаю отсечь логины можно с помощью cut or awk, но вот большая проблема это с процессами.
0
|
|
| 30.01.2020, 19:48 | |
|
Ответы с готовыми решениями:
26
Qt приложение отображающее запущенные процессы Как просмотреть все запущенные процессы
|
|
0 / 0 / 0
Регистрация: 24.12.2018
Сообщений: 3
|
|
| 31.01.2020, 11:16 [ТС] | |
|
Спасибо большое, а можете пожалуйста рассказать что делает регулярное выражение в sed?
0
|
|
|
1260 / 870 / 268
Регистрация: 02.04.2009
Сообщений: 3,307
|
||||||
| 31.01.2020, 13:43 | ||||||
|
Ankodo,
2
|
||||||
|
|
|||||||||||
| 31.01.2020, 17:34 | |||||||||||
Сообщение было отмечено Ankodo как решение
Решение
Ankodo, Главная фишка в форматированном выводе времени старта процесса
в команде ps -o start. Если команды запущены сегодня то выводится время "HH:MM:SS" (часы:минуты:секунды) А если процессы стартовали вчерашним числом и ранее, то есть до 00:00 то формат вывода меняется на " Mmm dd" (абревиатура месяца и день) Я кстати допустила ошибку полагая что строка начинается не с пробела а с символа названия месяца. Регулярка в седе обрабатывает только те строки которые (в новом варианте) будут начинатся с пробела (с последующей абривиатурой месяца) ну и вырезает эту часть оставляя только имя владельца процесса
В моем распоряжении нет дивайса работающего продолжительное время, поэтому без проверки я помоему допустила еще одну ошибку, команда uniq -f1 может украсть часть нужного вывода в продакшн такая строчка
1
|
|||||||||||
|
|
||||||
| 31.01.2020, 19:39 | ||||||
Сообщение было отмечено Ankodo как решение
Решение
Kukstyler,
2
|
||||||
|
1260 / 870 / 268
Регистрация: 02.04.2009
Сообщений: 3,307
|
|
| 31.01.2020, 21:27 | |
|
nezabudka, я про фильтровку вообще забыл
0
|
|
|
0 / 0 / 0
Регистрация: 24.12.2018
Сообщений: 3
|
|
| 31.01.2020, 21:45 [ТС] | |
|
nezabudka
А как здесь мы отбираем то что было вчера или ранее? я понял что формат вывода меняется если это случилось до 00:00, и поэтому мы как-то через sed это делаем? Не по теме: я не могу найти как ответить на сообщение упомянув пользователя. HELP ME PLZ
0
|
|
|
|
||||||||||||||||||||||
| 31.01.2020, 22:21 | ||||||||||||||||||||||
|
Это легко фильтруется через изменение формата вывода. Мы фактически не проверяем саму дату, а фиксируем изменение формата. Именно изменение формата и дает нам возможность без явного сопоставления даты получать результат sed просто проверяет начинается ли строка с пробела, если да то он обрабатывает наш файл потому что он стартовал вчера или ранее и удаляет этот временной маркер оставляя имя владельца процесса Вот два примера вывода сегодняшнего процесса и вчерашнего
^ - начало строки а потом так
появляющемуся в формате времени в процессах запущенных днем ранее и более
1
|
||||||||||||||||||||||
|
505 / 158 / 49
Регистрация: 27.02.2016
Сообщений: 818
|
||||||
| 03.02.2020, 04:08 | ||||||
|
nezabudka, а стак говорит вроде что правильнее lstart отфортматировать в ISO дату и уже сравнивать
https://unix.stackexchange.com... /ps-output
0
|
||||||
|
|
|||
| 03.02.2020, 08:44 | |||
|
skouzmine, Не вижу необходимости здесь что то сравнивать,
достаточно того что утилита ps дает возможность просто детерминировать необходимый временной интервал по изменению вывода формата. Результат работы вашей программы, удовлетворяет условию поставленной задачи?
0
|
|||
|
6677 / 2270 / 346
Регистрация: 10.12.2013
Сообщений: 7,839
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 03.02.2020, 11:28 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
что интересно попробовать для сравнения и другой инструмент, имеющийся сегодня. Принципиально другой. Принципом тут является то, что пользователю для окончательной обработки результата предоставляются не строки текста, а список об'ектов и, соответственно, способом обработки являются не утилиты для работы с текстом ( sed, awk, perl etc ), а возможности манипуляции с об'ектами в OO-парадигме ( коллекции, свойства, методы ). Разумеется, я говорю о pwsh. Промежуточные результаты обработки в pwsh передаются тоже по трубе '|', но это другая труба, об'ектная. Итак, надо найти 'Процессы запущенные вчера или ранее'. Кликните здесь для просмотра всего текста
Аналогом утилиты ps в pwsh является Get-Process ( алиас: gps ).
gps возвращает коллекцию об'ектов, поэтому первая задача - найти какое именно свойство возвращаемых об'ектов отвечает за 'Время запуска'. В предположении, что данное свойство, скорее всего, содержит в своём имени слово Time, попытаемся найти, как оно точно называется:
StartTime Property datetime StartTime {get;}Свойство StartTime - явно то, что нам надо и это свойство является об'ектом datetime. Об'ект DateTime в контексте нашей задачи получить вчерашнюю дату/время, чтобы сравнить со StartTime, нам вернёт Get-Date. смотрим свойства:
Add AddDays AddHours AddMilliseconds AddMinutes AddMonths AddSeconds AddTicks AddYears явно сгодятся для арифметики дат. проверяем:
а 'вчера' начинается с 00 часов 00 минут вчерашнего дня; время надо обнулить, поэтому точка отсчета для сравнения со StartTime будет выглядеть так:
Пожалуй, даже интереснее оформить вычисление 'вчера' в виде функции
0
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
1260 / 870 / 268
Регистрация: 02.04.2009
Сообщений: 3,307
|
||
| 03.02.2020, 11:48 | ||
![]() Ну а если серьёзно, что Вы имеете в виду?, что:
0
|
||
|
6677 / 2270 / 346
Регистрация: 10.12.2013
Сообщений: 7,839
|
|
| 03.02.2020, 11:50 | |
|
Я пока не знаю причины, не разбирался ещё,
просто показал результат.
0
|
|
|
1260 / 870 / 268
Регистрация: 02.04.2009
Сообщений: 3,307
|
||||||
| 03.02.2020, 11:54 | ||||||
|
volodin661,
-le = less or equal :
0
|
||||||
|
6677 / 2270 / 346
Регистрация: 10.12.2013
Сообщений: 7,839
|
|
| 03.02.2020, 12:51 | |
|
0
|
|
|
|
|
| 03.02.2020, 13:55 | |
|
Не по теме: pwsh моложе, он просто обязан быть безоговорочно лучшим, но только в разделе PowerShell...
0
|
|
|
1260 / 870 / 268
Регистрация: 02.04.2009
Сообщений: 3,307
|
|
| 03.02.2020, 14:06 | |
|
volodin661,
-le (yday) = вчера либо младше! То есть вчерашние + сегодняшние.greater than today = старше сегодншних, то есть ВСЕ, кроме сегодняшних. Разницу улавливаете?
0
|
|
|
6677 / 2270 / 346
Регистрация: 10.12.2013
Сообщений: 7,839
|
|
| 03.02.2020, 17:22 | |
|
Kukstyler, а чем измеряется время ?
0
|
|
| 03.02.2020, 17:22 | |
|
Помогаю со студенческими работами здесь
20
В диспетчере задач висят процессы запущенные пользователем Не получается сгруппировать запущенные процессы по ключу SID
Можно ли вместо поиска окон (FindWindow) искать запущенные процессы? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Загрузка PNG-файла с альфа-каналом с помощью библиотеки SDL3_image на Android
8Observer8 27.01.2026
Содержание блога
SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
|
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
|
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога
SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
|
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога
Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip"
Извлеките архив и вы увидите. . .
|
|
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога
Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д.
Сборка примера
Скачайте. . .
|
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net
REST сервисы временно не работают, только через Web.
Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
|
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
|