Zobacz raport na żywo o stanie procesu

4

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.

Czytałem stronę podręcznika systemu Mac OS X na górę, ale nie widzę statusu procesu. https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man1/top.1.html

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.

425nesp
źródło

Odpowiedzi:

3

W wersji OS X toppole nosi nazwę STATE i pokazuje stan, w którym znajduje się proces. Informacje na temat stuckstanu można znaleźć na stronie : https://apple.stackexchange.com/a/58718/292

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.
Ian C.
źródło
Niestety nawet pomimo top -stats pstatetego nie mogłem toppokazać zombie. Wygląda więc na to, że używanie psto sposób.
425nesp
0

OS X ma również toppolecenie. Ponieważ OS X jest oparty na BSD, mogą występować różnice w użytkowaniu. Aby uzyskać więcej informacji, zobacz man top.

Możesz łatwiej znaleźć ps ax | grep 'Z'na przykład procesy zombie. topmoże nie robić dokładnie tego, co chcesz.

Trane Francks
źródło
1
OP przeczytał stronę podręcznika do drugiego akapitu
Mark
Pozdrawiam, Mark. Dziękuję za to. Odpowiedź odpowiednio zaktualizowana.
Trane Francks,