TL; DR
에서 귀하의 의견 중 하나 , 당신은 상태 :
내 정확한 상황은 다음과 같습니다. 파일 경로가 있습니다. 파이어 폭스가 실행 중이면 잠 깁니다. 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.4 밀리 초가 걸립니다. 귀하의 마일리지가 다를 수 있습니다.
프로세스 상태 코드
ps (1)의 PROCESS STATE CODES 섹션은 다양한 상태 플래그의 의미를 자세히 설명합니다. 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