TL; DR
In einem Ihrer Kommentare geben Sie an:
Nun, meine genaue Situation ist: Ich habe den Pfad zu einer Datei. Es ist gesperrt, wenn Firefox ausgeführt wird. Ich möchte sehen, ob es gesperrt ist oder nicht, ob Firefox ausgeführt wird.
Ihre ursprüngliche Frage zu Sperrdateien scheint weit entfernt zu sein, wenn es einfachere Möglichkeiten gibt, herauszufinden, ob Firefox für einen bestimmten Benutzer ausgeführt wird, und seinen Prozessstatus zu überprüfen.
Prozessstatus untersuchen
Ein sinnvollerer Weg, um die PID eines bestimmten Prozesses zu ermitteln, ist die Verwendung von pgrep aus dem procps- Paket. Zum Beispiel:
$ pgrep -u $LOGNAME firefox
5671
Sie können dann den Status der PID mit ps überprüfen :
$ ps 5671
PID TTY STAT TIME COMMAND
5671 ? Sl 105:47 /usr/lib/firefox/firefox
oder holen Sie sich einfach die Staatsflaggen ohne andere Kruft:
$ ps -ho stat $(pgrep -u $LOGNAME firefox)
Sl
Bei einem meiner Systeme dauert der oben genannte Einzeiler durchweg nur 1,4 Millisekunden. Ihr Kilometerstand kann variieren.
Prozessstatuscodes
Im Abschnitt PROCESS STATE CODES von ps (1) wird detailliert beschrieben, was die verschiedenen Statusflags bedeuten. Unter Ubuntu 14.04 heißt es auf der Manpage:
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