TL; DR
では、あなたのコメントの一つ、あなたが状態:
まあ私の正確な状況は次のとおりです。私はファイルへのパスを持っています。Firefoxが実行中の場合はロックされます。ロックされているかどうか、Firefoxが実行されているかどうかを確認したいのですが。
ロックファイルに関する元の質問は、Firefoxが特定のユーザーに対して実行されているかどうかを確認し、そのプロセスの状態を検査する簡単な方法がある場合の長い道のりのようです。
プロセス状態の調査
特定のプロセスのPIDを見つけるより賢明な方法は、procpsパッケージのpgrepを使用することです。例えば:
$ pgrep -u $LOGNAME firefox
5671
次に、psを使用してPIDの状態を検査できます。
$ ps 5671
PID TTY STAT TIME COMMAND
5671 ? Sl 105:47 /usr/lib/firefox/firefox
または、他の情報を残さずに状態フラグを取得します。
$ ps -ho stat $(pgrep -u $LOGNAME firefox)
Sl
私のシステムの1つである上記のワンライナーは、完了するまでに一貫してわずか1.4ミリ秒しかかかりません。あなたのマイレージは異なる場合があります。
プロセス状態コード
ps(1)のPROCESS STATE CODESセクションは、さまざまな状態フラグの意味を詳しく説明しています。Ubuntu 14.04では、manページには次のように書かれています。
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