5 votes

Voir un rapport en direct sur l'état d'avancement du processus

Sous Linux, je peux utiliser top pour obtenir un rapport en temps réel des processus en cours d'exécution. Un champ important que j'utilise est celui de l'état du processus, qui indique si un processus est en cours d'exécution, zombie, en sommeil, etc.

J'ai lu la page de manuel de Mac OS X pour top, mais je ne vois pas Process Status. https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man1/top.1.html

Existe-t-il un autre moyen de faire cela à partir de la ligne de commande sous OS X ? Je suis en train de déboguer un programme qui utilise fork() J'ai donc besoin de quelque chose qui me montre en direct les processus en cours d'exécution.

4voto

shsteimer Points 8749

Dans la version d'OS X de top le champ s'appelle ÉTAT et indique l'état dans lequel se trouve le processus. Pour plus d'informations sur le champ stuck voir : https://apple.stackexchange.com/a/58718/292

En ps sous OS X permet également d'afficher l'état des processus. Par exemple, ps aux comprend le STATE domaine. Et les ps contient ce qui suit à propos du champ :

 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.

0voto

Trane Francks Points 2305

OS X dispose également de la fonction top commande. OS X étant basé sur BSD, il peut y avoir des différences d'utilisation. Pour plus d'informations, voir man top .

Il peut être plus facile de ps ax | grep 'Z' par exemple, pour trouver les processus zombies. top peut ne pas faire exactement ce que vous voulez.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X