TL; DR
В одном из ваших комментариев вы заявляете:
Ну, моя точная ситуация такова: у меня есть путь к файлу. Он заблокирован, если запущен Firefox. Я хочу увидеть, заблокирован ли он или нет, чтобы узнать, работает ли Firefox.
Ваш первоначальный вопрос о файлах блокировок кажется длинным, когда есть более простые способы выяснить, работает ли Firefox для данного пользователя, и проверить его состояние процесса.
Изучение состояния процесса
Более разумный способ найти PID данного процесса - использовать pgrep из пакета procps . Например:
$ pgrep -u $LOGNAME firefox
5671
Затем вы можете проверить состояние PID с помощью ps :
$ ps 5671
PID TTY STAT TIME COMMAND
5671 ? Sl 105:47 /usr/lib/firefox/firefox
или просто получи государственные флаги без всякой хулиганы
$ ps -ho stat $(pgrep -u $LOGNAME firefox)
Sl
Одна моя система, одна строка выше, последовательно занимает всего 1,4 миллисекунды. Ваш пробег может варьироваться.
Коды состояния процесса
Раздел «КОДЫ СОСТОЯНИЯ ПРОЦЕССА» в ps (1) подробно описывает, что означают различные флаги состояния. На Ubuntu 14.04 на странице руководства написано:
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)
R running or runnable (on run queue)
S interruptible sleep (waiting for an event to complete)
T stopped, either by a job control signal or because it is
being traced
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
For BSD formats and when the stat keyword is used, additional
characters may be displayed:
< high-priority (not nice to other users)
N low-priority (nice to other users)
L has pages locked into memory (for real-time and custom IO)
s is a session leader
l is multi-threaded (using CLONE_THREAD, like NPTL pthreads
do)
+ is in the foreground process group