Solaris CDE - Guide de l'utilisateur

Chapitre 19 Utilisation du Gestionnaire de processus

Utilisez le Gestionnaire de processus pour afficher les processus exécutés sur votre station de travail et pour leur appliquer des actions. Vous pouvez procéder ainsi sans connaître la syntaxe pour ps(1), truss(1), kill(1) et d'autres commandes basées sur des caractères. S'il y a lieu, les commandes UNIX correspondantes sont indiquées pour chaque action du Gestionnaire de processus.

A propos des processus

UNIX fonctionne avec des processus. Votre shell de connexion, vos programmes d'applications, la session d'édition exécutée, ainsi que le programme ls qui répertorie vos fichiers sont des processus contrôlés par l'environnement d'exploitation.

Sous UNIX, vous pouvez effectuer des opérations sur ces processus. Par exemple, vous pouvez visualiser tous les programmes exécutés à un instant donné, arrêter et redémarrer les programmes, analyser et déboguer les processus errants.

Conseils pour rechercher des processus errants

Un processus errant est un processus n'effectuant pas les tâches qu'il devrait. Par exemple, il se peut qu'un processus utilise une part importante des ressources disponibles en raison d'un bogue, ou qu'il interfère avec un autre processus. Utilisez le Gestionnaire de processus pour détecter les processus errants dans les situations suivantes :

Lorsque vous affichez tous les processus, le Gestionnaire de processus affiche généralement trente à cinquante processus. La recherche de processus errants peut donc s'avérer difficile si vous n'en avez pas l'habitude. Les conseils suivants devraient vous aider (sinon, contactez votre administrateur système) :

Recherche, affichage et sauvegarde des informations de processus

Le Gestionnaire de processus affiche les processus exécutés sur votre station de travail et vous permet d'y accéder.

Figure 19–1 Gestionnaire de processus affichant les entrées de processus contenant la chaîne de caractères “audio”.

Graphic

Chaque entrée de processus de la liste fournit des informations utiles, comme cela est indiqué dans le tableau suivant :

 Titre de la colonne Signification
 ID ID de processus.
 Nom Nom du processus.
 Propriétaire Nom du propriétaire.
 CPU% Rapport du temps de CPU utilisé sur le temps disponible pendant la même période, exprimé en pourcentage.
 RAM Quantité de mémoire RAM utilisée par ce processus.
 Swap Taille totale de la mémoire virtuelle.
 Démarré Heure réelle de début (ou date s'il ne s'agit pas de la date actuelle).
 Parent ID du processus parent, ou PPID.
 Commande Commande UNIX réelle (tronquée) en cours d'exécution.

Vous pouvez effectuer les actions suivantes sans affecter les processus de la station de travail sélectionnée :

Ouverture du Gestionnaire de processus

    Cliquez sur l'objet de commande Rechercher un processus dans le panneau secondaire Outils du Tableau de bord.

    La fenêtre principale du Gestionnaire de processus apparaît. La station de travail est immédiatement interrogée, ce qui affiche tous les processus en cours.

Affichage des sous-ensembles des processus

  1. Entrez votre texte de filtrage dans la zone Filtre de la fenêtre du Gestionnaire de processus.

    Votre texte de filtrage doit correspondre à une chaîne de caractères commune aux entrées d'un sous-ensemble ou d'un groupe de processus à afficher. Par exemple, à la Figure 19–1 l'utilisateur affiche tous les processus associés à la chaîne Audio.

  2. Appuyez sur Retour.

    Le Gestionnaire de processus met à jour tous les processus dans le volet de défilement pour n'inclure que les entrées contenant une occurrence exacte du texte de filtrage.

  3. Pour afficher tous les processus, effacez la zone Filtre et appuyez sur la touche Retour.

Recherche d'un processus

  1. Entrez votre texte de recherche dans la zone déroulante Rechercher ou sélectionnez un texte de recherche déjà utilisé dans la liste déroulante Rechercher.

    Votre texte de recherche doit correspondre à une chaîne de caractères commune aux entrées de tous les processus à afficher.

  2. Appuyez sur la touche Retour pour mettre en surbrillance la première occurrence du texte de recherche sous la position du curseur.

    Le texte peut se trouver dans n'importe quelle zone de l'entrée du processus.

  3. Appuyez sur la touche Retour pour mettre en surbrillance l'occurrence suivante et ainsi de suite.

  4. Après avoir trouvé l'entrée de processus requise, effacez la zone Rechercher.


    Remarque :

    Lorsque vous arrivez à la fin du volet de défilement, la recherche ne recommence pas au début de la liste. Vous devez donc sélectionner la première entrée de processus de la liste avant d'entrer le texte de recherche dans la zone Rechercher pour être sûr de passer en revue tous les processus.


Modification de l'ordre de tri de l'affichage

Par défaut, le Gestionnaire de processus affiche les entrées de processus en fonction de l'utilisation de la CPU, dans l'ordre décroissant. Vous pouvez le voir au titre de la colonne d'utilisation de la CPU (CPU%), qui est réduit par opposition aux autres.

  1. Pour sélectionner la colonne par rapport à laquelle la liste des entrées de processus doit être triée, cliquez sur le titre de la colonne appropriée ou choisissez le nom de la colonne dans le menu Vue.

    Le Gestionnaire de processus trie la liste des entrées de processus et les affiche dans le nouvel ordre. L'ordre par défaut de chaque colonne est indiqué dans le tableau suivant.

    Tableau 19–1 Ordre d'affichage par défaut des entrées de processus
     Titre de la colonne sélectionnée Méthode
     ID Trie les ID de processus dans l'ordre croissant.
     Nom Trie les entrées par ordre alphabétique (noms des processus).
     Propriétaire Trie les entrées par ordre alphabétique (noms des propriétaires).
     CPU% Trie les entrées en fonction de l'utilisation de la CPU, dans l'ordre décroissant.
     RAM Trie les entrées en fonction de l'utilisation de la RAM, dans l'ordre décroissant.
     Swap Trie les entrées en fonction de l'utilisation de la zone de swap, dans l'ordre décroissant.
     Démarré Trie les entrées en fonction de l'heure de lancement, dans l'ordre décroissant.
     Parent Trie les entrées par ID de processus parent, dans l'ordre décroissant.
     Commande Trie les entrées par ordre alphabétique dans l'ordre décroissant (noms de chemin complets, les caractères tels que / étant classés avant les lettres).

  2. (Facultatif) Pour inverser l'ordre de tri de l'une de ces colonnes (par exemple pour trier l'utilisation de la RAM dans l'ordre croissant), cliquez sur le bouton réduit du titre de la colonne.

    La zone de titre de la colonne apparaît en noir et l'affichage est trié dans l'ordre inverse.

    Graphic

Modification de la fréquence d'interrogation

Par défaut, le Gestionnaire de processus interroge la station de travail et met à jour l'affichage toutes les 30 secondes.

    Pour désactiver/activer le mode d'interrogation continu, choisissez Arrêter/Lancer dans le menu Echantillonner.

    Si le mode d'interrogation continu est utilisé, l'option Arrêter apparaît dans le menu Echantillonner. Si ce mode n'est pas utilisé, l'option Lancer apparaît.

    Pour modifier la fréquence d'interrogation, entrez le nombre de secondes (au maximum 604 800, soit 14 jours) dans la zone Echantillonner toutes les...secondes.

    Appuyez sur la touche Retour pour prendre en compte la nouvelle fréquence d'interrogation.

    Pour effectuer une interrogation immédiatement, choisissez Maintenant dans le menu Echantillonner.

    Le Gestionnaire de processus interroge la station de travail et met à jour l'affichage.

Copie et sauvegarde

Vous pouvez sélectionner et copier plusieurs entrées de processus dans l'affichage et les coller dans d'autres applications.

Vous pouvez aussi disposer des options suivantes pour sauvegarder les données d'interrogation dans des fichiers :

Création d'un fichier contenant les données d'interrogation courantes

  1. Choisissez Sauvegarder sous dans le menu Echantillonner.

    Le Gestionnaire de processus affiche la boîte de dialogue Sauvegarder sous.

  2. Indiquez le nom et l'emplacement du nouveau fichier et cliquez sur OK.

    Le Gestionnaire de processus crée le fichier texte contenant les entrées de processus à partir de l'affichage courant.

Définition d'un fichier journal

  1. Choisissez Fichier journal dans le menu Echantillonner.

    Le Gestionnaire de processus affiche la boîte de dialogue Fichier journal.

  2. Indiquez le nom et l'emplacement du nouveau fichier et cliquez sur OK.

    Le Gestionnaire de processus crée le fichier texte et ajoute chaque nouvelle donnée d'interrogation (avec les informations d'en-tête) au fichier.


    Attention : Attention :

    Le Gestionnaire de processus continue à ajouter des données au fichier jusqu'à ce que vous le fermiez ou que vous choisissiez Arrêter dans le menu Echantillonner.


Actions effectuées sur un processus sélectionné

Après avoir identifié et sélectionné une entrée de processus dans la liste, vous pouvez effectuer les actions suivantes :


Attention : Attention :

Consultez votre administrateur système si vous ne connaissez pas les conséquences de ces procédures.


Envoi de signaux de suppression à un processus

La commande de suppression sous UNIX permet à l'utilisateur d'envoyer un signal au processus. Un signal est un message envoyé à un processus pour l'interrompre et provoquer une réponse. Si le processus a été programmé pour répondre aux signaux du type envoyé, il le fait ; sinon il s'interrompt. Le tableau suivant présente certains numéros/noms de signaux couramment utilisés, ainsi que leur signification.

 N° du signal Nom du signal  Signification
 1  HUP Blocage (souvent utilisé avant la déconnexion).
 2  INT Interruption (équivaut à appuyer sur les touches Control+C dans une session de terminal).
 9 KILL

Suppression (fin sans élimination des données superflues).  

Ne fonctionne que s'il est envoyé par un propriétaire de processus ou un superutilisateur.  

Le programme ne peut pas répondre à ce signalet doit s'arrêter.  

 15 TERM

Suppression (fin après élimination des données superflues).  

Ne fonctionne que s'il est envoyé par un propriétaire de processus ou un superutilisateur.  

L'option de menu Supprimer vous permet d'interrompre rapidement un processus en envoyant un signal de suppression (9). L'option de menu Signal vous permet de mieux contrôler le signal envoyé par la commande kill(1). Vous pouvez, par exemple, envoyer un signal INT ou HUP, etc.


Attention : Attention :

Vous ne devez envoyer un signal à un processus que si vous en connaissez les conséquences. Par exemple, si vous sélectionnez le shell de connexion et que vous envoyez un signal de suppression, vous serez brusquement déconnecté. Pour de plus amples informations sur les processus et les objets de commande des tâches, contactez votre administrateur système ou consultez le Guide avancé de l'utilisateur Solaris (Sun Microsystems).


Suppression d'un processus (suppression rapide)

  1. Sélectionnez une entrée de processus dans le volet de défilement du Gestionnaire de processus.

  2. Choisissez Supprimer dans le menu Processus.

    Le Gestionnaire de processus supprime le processus (et ses processus fils), à condition que vous y soyez autorisé (sinon, un message d'erreur s'affiche). La suppression d'un processus peut parfois prendre plusieurs secondes. Un processus est considéré comme supprimé lorsqu'il n'apparaît pas dans la liste lors de la prochaine mise à jour de l'affichage du Gestionnaire de processus.


    Astuce :

    La commande UNIX correspondante est :

    kill -9 PID, où PID est l'ID du processus sélectionné.

    Vous pouvez redéfinir la commande effectuée par l'option Supprimer et la remplacer par une autre en redéfinissant l'action de "suppression" dans le fichier :

    /usr/dt/appconfig/types/C/sdtprocess.dt


Envoi d'un signal à un processus

  1. Sélectionnez une entrée de processus dans le volet de défilement du Gestionnaire de processus.

  2. Choisissez Signal dans le menu Processus.

    Le Gestionnaire de processus affiche une boîte de dialogue vous demandant de spécifier les signaux. Vous devez indiquer au moins un des 42 signaux définis dans la page de manuel signal(5).

  3. Entrez le numéro ou le nom approprié du signal et cliquez sur OK.

    Le Gestionnaire de processus émet la commande du signal et ferme la boîte de dialogue. Aucun message de réussite n'apparaît. Si vous arrêtez un processus, ses processus fils seront également arrêtés.


Astuce :

La commande UNIX correspondante est : kill -nom_signal PID

-nom_signal est le numéro ou le nom du signal et PID, l'ID du processus sélectionné.


Recherche du propriétaire d'un processus

  1. Sélectionnez une entrée de processus dans le volet de défilement du Gestionnaire de processus.

  2. Choisissez Rechercher propriétaire dans le menu Processus.

    Le Gestionnaire de processus ouvre le Gestionnaire d'adresses et lui demande de rechercher les cartes système pour le nom de l'utilisateur du système du processus sélectionné. Pour de plus amples informations sur le Gestionnaire d'adresses, reportez-vous au Chapitre 18.

Affichage de l'ascendance d'un processus

  1. Sélectionnez une entrée de processus dans le volet de défilement du Gestionnaire de processus.

  2. Choisissez Afficher ascendance dans le menu Processus.

    Le Gestionnaire de processus affiche une fenêtre contenant l'arborescence des processus spécifiés. Les processus fils apparaissent en retrait de leur processus parent respectif.

    Graphic

Astuce :

La commande UNIX correspondante est :

/usr/proc/bin/ptree PID

PID est l'ID du processus sélectionné.


Suivi des processus fils

Lorsqu'un processus UNIX lance un ou plusieurs processus dépendants, on parle de processus fils ou de fils. Les processus fils et parent ont le même ID de processus.

  1. Sélectionnez une entrée de processus dans le volet de défilement du Gestionnaire de processus.

  2. Choisissez Suivre fils dans le menu Processus.

    Le Gestionnaire de processus affiche un enregistrement de la création des nouveaux processus fils (et de leurs processus fils) pour le processus sélectionné.

    Les erreurs sont renvoyées à l'aide des noms de codes d'erreur décrits à la page de manuel Intro(2).


    Astuce :

    La commande UNIX correspondante est :

    truss -fa -texec,fork -s¦CLD,ALRM -p PID

    PID est l'ID du processus sélectionné.


Suivi des appels système

Pendant son exécution, un processus lance des appels à l'unité centrale UNIX (appels système). Vous pouvez suivre ces appels pour observer leurs effets sur d'autres processus.

  1. Sélectionnez une entrée de processus dans le volet de défilement du Gestionnaire de processus.

  2. Choisissez Suivre les appels système dans le menu Processus.

    Le Gestionnaire de processus affiche une boîte de dialogue vous demandant d'entrer des arguments facultatifs.

  3. Cliquez sur OK.

    Chaque ligne de la sortie du suivi enregistre le nom du signal ou de l'erreur ou de l'appel système avec ses arguments et ses valeurs de retour. Pour de plus amples informations reportez-vous à la page de manuel truss(1).


Astuce :

La commande UNIX correspondante est :

truss -p PID

PID est l'ID du processus sélectionné.


Affichage de la pile d'un processus

  1. Sélectionnez une entrée de processus dans le volet de défilement du Gestionnaire de processus.

  2. Choisissez Afficher la pile dans le menu Processus.

    Le Gestionnaire de processus affiche une fenêtre contenant un suivi hexadécimal et symbolique de la pile pour le processus sélectionné.


Astuce :

La commande UNIX correspondante est :

/usr/proc/bin/pstack PID

PID est l'ID du processus sélectionné.


Débogage d'un processus

Les développeurs d'applications et les administrateurs système utilisent parfois une application de débogage (Sun Workshop, par exemple) pour analyser les processus errants. L'option Déboguer du menu Processus appelle l'application de débogage préférée pour le processus sélectionné.

    Déboguez le processus à l'aide de cette application.


Astuce :

La commande UNIX correspondante est :

workshop -d commande

workshop est le nom du programme de débogage et commande la commande nécessaire pour transmettre l'ID de processus à ce programme.