ps의 제어 터미널 출력에는 "Ss+"가 나열되어 있습니다. 이 코드가 무엇을 의미하는지 어떻게 알 수 있나요? 30페이지짜리 문서인 ps 매뉴얼을 샅샅이 뒤져봤지만 아무런 설명도 찾을 수 없었습니다.
답변1
~에서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)
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
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
답변2
tt
ps
출력 에서 열을 찾고 tty
다음과 같은 명령을 사용하십시오.
$ps ax |more
PID TT STAT TIME COMMAND
1 ?? Ss 4:58.84 /sbin/launchd
66 ?? Ss 1:05.03 /usr/sbin/syslogd
67 ?? Ss 0:21.62 /usr/libexec/UserEventAgent (System)
$ps ax |grep bash
81939 s000 S+ 0:00.09 -bash
82152 s001 S 0:00.04 -bash
82228 s001 S+ 0:00.00 grep -I bash
$tty
/dev/ttys001
$ps ax |grep offlineimap-load
82261 s000 S+ 0:00.02 /bin/bash /Users/pbarganski/Documents/bin/offlineimap-load
82417 s001 R+ 0:00.01 grep -i offlineimap-load
위에서 tty
명령은 내가 현재 어느 터미널에 있는지 알려줍니다. - 터미널's000'이 경우.
마지막 명령에서 grep -i
명령이 터미널에서 실행된다는 것을 알 수 있습니다.s001그러나 현재 터미널 창은오프라인 imap 로딩스크립트가 제어 터미널에서 실행 중입니다.s000- 내 첫 번째 터미널 세션 - 이 경우에는 Terminal.app의 첫 번째 탭 터미널입니다.