W systemie Linux mogę topzobaczyć raport na żywo z uruchomionych procesów. Ważnym polem, którego używam, jest pole Status procesu, które pokazuje, czy proces jest uruchomiony, zombie, spanie itp.
Czy jest inny sposób na wykonanie tego z wiersza poleceń w OS X? Debuguję program, który używa fork(), więc potrzebuję czegoś, co pokazuje mi transmisję na żywo aktualnie wykonywanych procesów.
psKomenda na OS X można również pokazać stan procesu. Na przykład ps auxobejmuje STATEpole. A strona ps ps ma do powiedzenia na ten temat:
state The state is given by a sequence of characters,for example,``RWNA''.The first character indicates the run state of the process:
I Marks a process that is idle (sleeping for longer than about 20 seconds).
R Marks a runnable process.
S Marks a process that is sleeping for less than about 20 seconds.
T Marks a stopped process.
U Marks a process in uninterruptible wait.
Z Marks a dead process (a ``zombie'').Additional characters after these,if any, indicate additional state information:+The process is in the foreground process group of its control terminal.<The process has raised CPU scheduling priority.>The process has specified a soft limit on memory requirements and is currently exceeding that limit; such a process is (necessarily) not swapped.
A the process has asked for random page replacement (VA_ANOM, from vadvise(2),for example, lisp(1)in a garbage collect).
E The process is trying to exit.
L The process has pages locked in core (for example,for raw I/O).
N The process has reduced CPU scheduling priority (see setpriority(2)).
S The process has asked for FIFO page replacement (VA_SEQL, from vadvise(2),for example, a large image processing program using virtual memory to sequentially
address voluminous data).
s The process is a session leader.
V The process is suspended during a vfork(2).
W The process is swapped out.
X The process is being traced or debugged.
top -stats pstate
tego nie mogłemtop
pokazać zombie. Wygląda więc na to, że używanieps
to sposób.OS X ma również
top
polecenie. Ponieważ OS X jest oparty na BSD, mogą występować różnice w użytkowaniu. Aby uzyskać więcej informacji, zobaczman top
.Możesz łatwiej znaleźć
ps ax | grep 'Z'
na przykład procesy zombie.top
może nie robić dokładnie tego, co chcesz.źródło