Как узнать, обрабатывает ли исполняемый или двоичный файл какой-либо запрос или занят/простаивает (состояние не РАБОТАЕТ)
Я хочу остановить/убить процесс на основе состояния обработки исполняемого файла.
Как узнать, обрабатывает ли исполняемый или двоичный файл какой-либо запрос или занят/простаивает (состояние не РАБОТАЕТ)
Я хочу остановить/убить процесс на основе состояния обработки исполняемого файла.
Вы можете проверить код состояния процесса процесса с помощью ps
. Это может дать вам более подробное представление о текущем состоянии данного процесса.
Согласно с man ps
:
PROCESS STATE CODES Here are the different values that the s, stat and state output specifiers (header "STAT" or "S") will display to describe the state of a process: D uninterruptible sleep (usually IO) I Idle kernel thread R running or runnable (on run queue) S interruptible sleep (waiting for an event to complete) T stopped by job control signal t stopped by debugger during the tracing W paging (not valid since the 2.6.xx kernel) X dead (should never be seen) Z defunct ("zombie") process, terminated but not reaped by its parent
Затем вы можете сделать что-то вроде:
ps --no-headers -o pid,state -p PID
Который выводил бы одну из букв, представляющих состояние процесса сверху, для данного PID процесса.
Вы также можете сделать ps --no-headers -o pid,state -p $(pgrep app_name)
. Это выведет текущее состояние каждого процесса, выполняемого данным приложением.