Maison  >  Article  >  interface Web  >  ps aux explication détaillée

ps aux explication détaillée

高洛峰
高洛峰original
2017-02-14 10:30:055805parcourir

ps aux

Afficher les processus démarrés par d'autres utilisateurs (a)
Afficher vos propres processus dans le système (x)
L'utilisateur qui a démarré ce processus et l'heure à laquelle il a été démarré (u)

Utilisez la commande "date -s" pour modifier l'heure système
Par exemple, la commande pour régler l'heure système au 10 juin 1996 est la suivante .
#date -s 06/10/96
La commande pour régler l'heure du système à 13:12:00 est la suivante.
#date -s 13:12:00

-------------------------------- -----------------------
UTILISATEUR PID %CPU %MEM VSZ RSS TTY STAT HEURE DE DÉBUT COMMANDE
racine 1 0,0 0,0 1340 440 ? S 5 novembre 0:04 init
racine 2 0,0 0,0 0 0 ? SW nov.05 0:00 [keventd]
racine 3 0,0 0,0 0 0 ? SW Nov05 0:00 [keventd]
...
--------------------------------- ---------------------

Le champ USER spécifie quel utilisateur a lancé cette commande ;
Les utilisateurs peuvent vérifier l'utilisation d'un certain processus. Combien Processeurs ;
Utilisation de la mémoire et son VSZ (taille de la mémoire virtuelle) et RSS (taille de l'ensemble résident) :
VSZ indique la quantité d'espace mémoire qu'un programme doit occuper s'il réside complètement en mémoire ;
RSS précise indique la quantité de mémoire actuellement occupée ;
STAT affiche l'état actuel du processus :
"S" : Le processus est en état de veille, indiquant que ces processus attendent que certains événements se produisent - éventuellement l'utilisateur. ressources d'entrée ou système.

la dernière commande peut visualiser efficacement les événements de connexion au système

Après qu'un processus appelle exit, le processus ne disparaît pas immédiatement, mais reste une donnée. structure appelée processus zombie (Zombie). Parmi les 5 états des processus Linux, les processus zombies Il s'agit d'un type très spécial. Il a abandonné presque tout l'espace mémoire, n'a aucun code exécutable et ne peut pas être planifié. Il réserve uniquement une position dans la liste des processus pour enregistrer l'état de sortie et d'autres informations du processus pour d'autres. fins. Collecte de processus, sauf que les processus zombies n'occupent plus d'espace mémoire.

La fonction de l'appel système exit est de faire quitter le processus, mais il se limite seulement à transformer un processus normal en processus zombie et ne peut pas le détruire complètement.
Une fois qu'un processus appelle wait, il se bloque immédiatement. Wait analyse automatiquement si un processus enfant du processus en cours s'est terminé. S'il trouve un tel processus enfant qui est devenu un zombie, attendez. Il collectera les informations de ce sous-processus, les détruira complètement et reviendra ; si aucun sous-processus de ce type n'est trouvé, attendre sera bloqué ici jusqu'à ce qu'il apparaisse.

Repost l'explication STAT dans ps aux Collection

Exécutez ps aux pour obtenir les informations suivantes :
ps aux
USER PID %CPU %MEM VSZ RSS ATS COMMANDE D'HEURE DE DÉBUT STAT
smmsp 3521 0,0 0,7 6556 1616 ? SS 20h40 0h00 sendmail : Queue runner@01:00:00 f
root 3532 0,0 0,2 2428 452 ? SS 20:40 0:00 gpm -m /dev/input/mice -t imps2
htt 3563 0,0 0,0 2956 196 ? SS 20:41 0:00 /usr/sbin/htt -retryonerror 0
htt ​ 3564 0,0 1.7 29460 3704 ? Sl 20:41 0:00 htt_server -nodaemon
root 3574 0,0 0,4 5236 992 ? SS 20:41 0:00 crond
xfs 3617 0,0 1.3 13572 2804 ? SS 20:41 0:00 xfs -droppriv -daemon
root 3627 0,0 0,2 3448 552 ? SN 20:41 0:00 anacron -s
racine 3636 0,0 0,1 2304 420 ? SS 20:41 0:00 /usr/sbin/atd
dbus 3655 0,0 0,5 13840 1084 ? SSL 20:41 0:00 dbus-daemon-1 --system
............................. ...
Les paramètres de stat ont les significations suivantes :
D Sans interruption (généralement IO)
R En cours d'exécution ou processus dans la file d'attente
S En veille
T Arrêté ou suivi
Z Processus zombie
W Entrée d'échange de mémoire (invalide à partir du noyau 2.6)
X Processus mort

n Faible priorité
s contient des processus enfants
Groupe de processus situé en arrière-plan

========================== ==== ===========

Commande ps
Pour surveiller et contrôler le processus, vous devez d'abord comprendre la situation du processus en cours, c'est-à-dire que vous devez visualiser le processus en cours, et la commande ps est le processus le plus basique et également très puissant commande de visualisation. Utilisez cette commande. Déterminez quels processus sont en cours d'exécution et leur état d'exécution, si le processus est terminé, si le processus contient des zombies, quels processus occupent trop de ressources, etc. En bref, la plupart des informations peuvent être obtenues en exécutant cette commande
ps. Le plus couramment utilisé est de surveiller l'état de fonctionnement du processus en arrière-plan, car le processus en arrière-plan ne communique pas avec les périphériques d'entrée/sortie standard tels que le clavier à l'écran, donc si vous avez besoin de détecter sa situation, vous pouvez utiliser la commande ps. .
  1) ps a affiche tous les programmes du terminal actuel, y compris les programmes des autres utilisateurs.
2) ps -A affiche tous les programmes.
3) Lorsque ps c répertorie les programmes, le véritable nom d'instruction de chaque programme est affiché, sans inclure le chemin, les paramètres ou l'identification des services résidents.
4) ps -e L'effet de ce paramètre est le même que la spécification du paramètre "A".
5) Lorsque ps e répertorie les programmes, affichez les variables d'environnement utilisées par chaque programme.
6) ps f utilise des caractères ASCII pour afficher la structure arborescente et exprimer la relation entre les programmes.
7) ps -H affiche une structure arborescente, indiquant la relation entre les programmes.
8) ps -N affiche tous les programmes, à l'exception des programmes sous le terminal qui exécutent la commande ps.
9) ps s utilise le format du signal du programme pour afficher l'état du programme.
10) ps S inclut des informations sur les sous-programmes interrompus lors de la liste des programmes.
11) ps -t Spécifie un numéro de terminal et répertorie l'état des programmes appartenant à ce terminal.
12) ps u Afficher l'état du programme dans un format orienté utilisateur.
13) ps x Affiche tous les programmes, non distingués par terminal.
La méthode la plus couramment utilisée est ps -aux, puis utilisez un symbole de tuyau pour demander à grep de trouver un processus spécifique, puis d'opérer sur le processus spécifique.

Il existe 5 états de processus sous Linux :
1. En cours d'exécution (en cours d'exécution ou en attente dans la file d'attente d'exécution)
2. formation d'une certaine condition ou réception d'un signal)
3. Ininterruptible (le signal ne sera pas réveillé et ne pourra pas être exécuté, le processus doit attendre qu'une interruption se produise)
4. été terminé, mais le descripteur de processus existe jusqu'à ce que le processus parent appelle l'appel système wait4() et soit libéré)
5. Stop (le processus s'arrête après avoir reçu les signaux SIGSTOP, SIGSTP, SIGTIN, SIGTOU)

5 types de processus d'identification d'outil ps Code d'état :

D veille ininterrompue (généralement IO)
R exécutable (dans la file d'attente d'exécution)
S interruption du sommeil
T arrêt tracé ou arrêté
Z zombie un processus défunt (« zombie »)

Remarque : les autres états incluent W (pas de page résidente), <(processus haute priorité), N (processus basse priorité), L (page de verrouillage de la mémoire).

Utilisez la sortie au format ps pour afficher l'état du processus :

ps -eo user,stat..,cmd

user user name

uid user nombre
numéro de processus pid
numéro de processus parent ppid
taille taille de la mémoire, Ko octets.
vsize taille totale de la mémoire virtuelle, octets octets (y compris la pile de données de code)
partager le nombre total de pages partagées
priorité de processus intéressante (la valeur par défaut est 0, le maximum est -20)
priorité (pri) priorité de planification du noyau
pourcentage pmem de mémoire physique partagée par le processus
très résidence du code d'exécution du programme Taille
rss La mémoire physique totale utilisée par le processus, Kbytes bytes
time Le temps temporaire total du processeur depuis l'exécution du processus
stat Statut du processus
cmd(args) Format simple pour exécuter des commandes

Exemple :

Afficher l'uid, le pid, la stat, le pri du processus système actuel, triés par numéro d'uid.
ps -eo pid, stat, pri, uid –sort uid

Afficher l'utilisateur , pid, stat, rss, args du processus système actuel, triés par rss

ps -eo user, pid, stat, rss, args –sort rss

nom : ps

Autorisations d'utilisation : tous les utilisateurs
Méthode d'utilisation : ps [options] [--help]
Description : Afficher la dynamique du parcours instantané (processus)
Paramètres :
paramètres ps Là sont nombreux, nous ne listons ici que quelques paramètres couramment utilisés et présentons brièvement leurs significations
-A Liste tous les itinéraires
-w Élargissement de l'affichage pour afficher plus d'informations
-au Afficher des informations plus détaillées
-aux affiche tous les itinéraires qui incluent d'autres utilisateurs

au(x) Format de sortie :

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND

USER : Propriétaire du voyage
PID : pid
%CPU : utilisation du processeur occupé
%MEM : utilisation de la mémoire occupée
VSZ : taille de la mémoire virtuelle occupée
RSS : taille de la mémoire occupée
TTY : numéro de périphérique mineur du tty du terminal
STAT : Statut du voyage :
D : Statique ininterruptible
R : En cours d'exécution
S : État de repos
T : Exécution suspendue
Z : N'existe pas mais ne peut pas être éliminé temporairement
W : Pas assez de pagination de mémoire à allouer
< : Itinéraire hautement prioritaire
N : Voyage à faible priorité
L : Allocation de page mémoire et verrouillage en mémoire
START : Heure de début du voyage
TEMPS : Temps d'exécution
COMMANDE : Commande exécutée

Exemple :

ps
PID TTY TIME CMD
2791 ttyp0 00:00:00 tcsh
3092 ttyp0 00:00:00 ps
% ps -A
PID TTY TIME CMD
1 ? 00:00:03 init
2 ? 00:00:00 kflushd
3 ? 00:00:00 kpiod
4 ? 00 mdrecoveryd
.....
% ps -aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.7 1096 472 ? 3]
root 2 0.0 0.0 0 0 ? SW Sep10 0:00 [kflushd]
root 3 0.0 0.0 0 0 ? SW Sep10 0:00 [kpiod]
root 4 0.0 0.0 0 0 ? 0:00 [kswapd]
.....
Pour surveiller et contrôler le processus, vous devez d'abord comprendre la situation du processus en cours, c'est-à-dire que vous devez visualiser le processus en cours, et ps La commande est la commande de visualisation de processus la plus basique mais également la plus puissante. Utilisez cette commande pour déterminer quels processus sont en cours d'exécution et leur état d'exécution, si le processus est terminé, s'il est mort, quels processus occupent trop de ressources, etc. Bref, la plupart des informations peuvent être obtenues en exécutant cette commande.

ps nous fournit une vue unique du processus, mais les résultats de la vue qu'il fournit ne sont pas dynamiques et continus ; si vous souhaitez surveiller le temps du processus, vous devez utiliser l'outil supérieur.

kill est utilisé pour tuer le processus.

1. Description des paramètres de ps

ps fournit de nombreux paramètres d'option, les suivants sont couramment utilisés :

l sortie au format long

vous appuyez sur le nom de l'utilisateur et l'heure de démarrage ; pour afficher les processus dans l'ordre ;
j affiche les processus au format tâche ;
f affiche les processus au format arborescence ;

a affiche tous les processus de tous les utilisateurs (y compris les autres utilisateurs) ; x affiche les processus sans terminal contrôlé ;

r affiche les processus en cours d'exécution ;
ww évite que les paramètres détaillés soient tronqués

Nos options couramment utilisées sont la combinaison de aux ou lax et le paramètre f application.

2. Explication de la sortie ps aux ou lax

Propriétaire du processus USER ;

ID du processus PID
Processus parent PPID
Pourcentage de CPU occupé par le processus ; 🎜>%MEM est le pourcentage de mémoire occupée ;
Valeur NICE du processus NI. Des valeurs plus élevées signifient que moins de temps CPU est occupé
Taille virtuelle du processus VSZ ; ID du terminal TTY
Statut du processus STAT (il existe les types suivants)

D État de veille ininterrompue (généralement un processus IO
R En cours d'exécution et disponible dans la file d'attente
S est en veille) ; ;
T est arrêté ou suivi ;

W entre dans l'échange de mémoire (invalide depuis le noyau 2.6)

X processus mort (jamais vu) ;

< Processus de haute priorité
N Processus de priorité inférieure
L Certaines pages sont verrouillées en mémoire ;
s Leader du processus (il contient des processus enfants
l multi-processus (utilisant CLONE_THREAD, similaire) ; aux pthreads NPTL) ;

Groupe de processus situé en arrière-plan ;

Ressources du processus en attente WCHAN ;
Heure de démarrage du processus ;
Le processus TIME consomme du temps CPU ;
Nom et paramètres de la commande COMMAND ;

3. Exemple d'application
[root@localhost ~]# ps -aux |more
Oui Utilisez | pipe et plus pour vous connecter pour afficher dans les pages.
[root@localhost ~]# ps -aux > ps001.txt
[root@localhost ~]# more ps001.txtVoici pour afficher tous les processus et les sortir dans le fichier ps001.txt , puis utilisez more pour l'afficher dans les pages.


4. Kill termine le processus
Il existe plus d'une douzaine de façons de contrôler le processus Voici quelques méthodes couramment utilisées :
kill -STOP [pid]
Envoyer SIGSTOP (17). ,19,23 ) arrête un processus sans le tuer.
kill -CONT [pid]

Envoyez SIGCONT (19,18,25) pour redémarrer un processus arrêté.

kill -KILL [pid]
Envoyez SIGKILL (9) pour forcer l'arrêt immédiat du processus et ne pas effectuer d'opérations de nettoyage.
kill -9 -1
Tuez tous les processus que vous possédez.
Les signaux SIGKILL et SIGSTOP ne peuvent pas être captés, bloqués ou ignorés, mais d'autres signaux le peuvent. C'est donc votre arme ultime.

Pour des explications plus détaillées sur ps aux et les articles associés, veuillez faire attention au site Web PHP chinois !

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn