LINUX.ORG.RU

История изменений

Исправление smilessss, (текущая версия) :

спасибо
вы навели меня на верную мысль

Если имя процесса не изменяется, то он должен быть в выводе pgrep. Начните сравнивать, типа вывод ″pgrep″ в файл. Потом вывод ″ps ″ в файл, ″grep″ по файлу с вывода ps, sort, diff, чтобы убедиться, что ″pgrep″ работает корректно...

таки да, всё работает корректно, просто моя логика была некорректная, я почему-то подумал, что pgrep всегда отдаёт данные в алфавитном порядке...

между тем, как ″pgrep″ выдаст pid и тем, как ″pwdx″ полезет в ″/proc/PID″ проходит заметное время, за которое ваш процесс может перезапуститься. Может нужно как-то читать /proc/PID/cmdline и /proc/PID/cwd почти одновременно, а потом фильтровать вывод.

там вроде pgrep и pwdx мгновенно отрабатывают, процессы так часто не перезапускаются, я просто в своей лапше опирался на непровереное поведение, которое сам себе придумал)

Исходная версия smilessss, :

спасибо
вы навели меня на верную мысль

Если имя процесса не изменяется, то он должен быть в выводе pgrep. Начните сравнивать, типа вывод ″pgrep″ в файл. Потом вывод ″ps ″ в файл, ″grep″ по файлу с вывода ps, sort, diff, чтобы убедиться, что ″pgrep″ работает корректно...

таки да, всё работает корректно, просто моя логика была некорректная, я почему-то подумал, что pgrep всегда отдаёт данные в алфавитном порядке...