Сегодня без прелюдий. Давай через утилиту ps узнаем время, когда был запущен процесс.

Делается это довольно просто. Для начала запустим подопытного. У меня будет гуёвая Ubuntu. Запускаю Firefox.

/usr/bin/firefox

Можешь с ярлыка на рабочем столе его заранить. А если нет иксов, подставь cron или какой-нибудь свой скрипт, который крутится в фоне.

Дальше открываем терминал и фапаем:

ps --no-headers -C firefox -o lstart

В ответ видим строку:

Sun Jun 16 05:54:24 2024

Это и есть та самая временная метка, когда был запущен процесс. В моём случае Firefox.

Аналогично можно узнать метку любой запущенной программы или процесса.

Формат поля lstart универсальный, и его понимает тест -newer из предыдущего поста про find.

Роман Шубин
Роман Шубин
CEO & CTO, Главред в «Цифровой улей»
Задать вопрос
Давай поищем файлы в домашнем каталоге, которые были модифицированы после запуска Firefox.
find ~/ -newermt "$(ps --no-headers -C firefox -o lstart)"

Выводится достаточно большой список. Это хороший кейс, когда пытаешься что-то отдебажить.

Некоторые версии утилиты ps могут создать головняк с поиском процесса по имени. Но эта ситуация легко решается с помощью других утилит для поиска PID.

Например, с помощью такой кишки:

find ~/ -newermt "$(ps --no-headers -p $(pgrep firefox) -o lstart)"
Роман Шубин
Роман Шубин
CEO & CTO, Главред в «Цифровой улей»
Задать вопрос
Думаю, концепт ты понял, а дальше можешь самостоятельно пойти и разгрести какой-нибудь /proc/pid/stat или /proc/uptime.

Пользуйтесь!