Cette page explique comment gérer les processus en cours dexécution sur votre système à laide de Webmin.
Introduction aux processus
Chaque programme, processus ou commande exécuté sur un système Linux est un processus. À tout moment, il y a des dizaines de processus en cours dexécution sur votre système, certains pour les programmes avec lesquels vous interagissez graphiquement, certains pour les commandes que vous avez démarrées à une invite du shell, certains pour les serveurs exécutés en arrière-plan et certains qui exécutent des tâches système. Chaque fois que vous tapez une commande comme ls ou vi à linvite du shell, un nouveau processus est créé, uniquement pour se terminer dès que son travail est terminé.
Chaque processus est identifié par un ID unique, appelé PID ou ID de processus. Chacun appartient à un seul utilisateur et est membre de plusieurs groupes, qui déterminent les privilèges dont dispose le processus. Et chacun a une priorité (également connue sous le nom de niveau agréable), qui contrôle la quantité de temps CPU que le processus peut utiliser sur un système occupé. Presque chaque processus a un parent, qui est le processus qui la démarré et dont il hérite de la propriété, de la priorité et dautres paramètres.
Un processus fonctionnera jusquà ce quil choisisse de quitter, ou jusquà ce quil soit tué par un signal dun autre processus.
Le module Exécution des processus
Ce module peut être utilisé pour afficher, tuer, redéfinir les priorités et exécuter des processus sur votre système. Lorsque vous le saisissez pour la première fois à partir de la catégorie Système, la page principale affichera une arborescence de processus comme indiqué ci-dessous.
Le module a plusieurs façons différentes de visualiser tous les processus de votre système, sélectionnables par les liens Afficher en haut de la page principale. Ce sont:
PID Dans ce mode daffichage, chaque processus est affiché en retrait sous son parent, formant une arborescence de tous les processus en cours dexécution sur votre système. En haut de larborescence se trouve la commande init, qui est lancée par le noyau au moment du démarrage et na donc pas de parent. Utilisateur Ce mode regroupe les processus par leur propriétaire. Il peut être utile sur les systèmes avec de nombreux utilisateurs pour voir dun coup dœil ce que chaque utilisateur exécute. Mémoire Dans ce mode, les processus sont classés en fonction de la quantité de mémoire quils utilisent, ceux qui utilisent le plus de mémoire étant affichés en haut de la page. Lutilisation de la mémoire dun processus nest pas toujours indicative de la quantité de mémoire quil utilise réellement, car les processus partagent souvent de la mémoire entre eux. De plus, la quantité totale et libre de mémoire réelle et virtuelle sur votre système est affichée au-dessus de la liste des processus. CPU Ce mode daffichage classe les processus en fonction de leur utilisation actuelle du CPU, lutilisateur le plus lourd apparaissant en premier. Parfois, la commande Webmin qui génère la page apparaîtra en haut de la liste, mais elle peut être ignorée en toute sécurité. Les moyennes de charge du système seront affichées en haut de la page, pour donner une idée de loccupation du système au cours des 1,5 et 10 dernières minutes. Une moyenne de 0 signifie aucune activité du tout, 1 signifie que le processeur est pleinement utilisé, et tout ce qui est supérieur à 1 signifie quil y a plus de processus à exécuter que le système na de temps CPU.
Les options Rechercher et Exécuter servent respectivement à rechercher des processus et à en exécuter de nouveaux. Voir les sections ci-dessous pour plus de détails.
Affichage, suppression ou redéfinition des priorités dun processus
Vous pouvez voir tous les détails de tout processus en cours en cliquant sur lentrée de sa colonne ID de processus dans lun des affichages de la page principale . Cela vous mènera à la page dinformations sur le processus, illustrée dans cette capture décran.
La page affiche toutes les informations disponibles sur le processus, y compris sa ligne de commande complète, la commande parent et tous les sous-processus. Vous pouvez simplement accéder à la page dinformations du parent en cliquant sur sa commande, ou à la page de lun des sous-processus en cliquant sur son ID de processus. Une liste des fichiers que le processus a ouverts et des connexions réseau quil utilise actuellement peut être affichée en cliquant sur le bouton Fichiers et connexions.
Le processus peut sarrêter à laide dun signal TERM en cliquant sur le bouton Terminer le processus. Comme cela peut être ignoré par certaines commandes, le bouton Kill Process peut être utilisé pour envoyer un signal KILL si la terminaison échoue. À moins que le processus ne soit suspendu à lintérieur dun appel système du noyau, sa mise à mort est garantie.
Dautres signaux peuvent être envoyés en sélectionnant le type de signal à côté du bouton Envoyer un signal avant dappuyer dessus. Certains des signaux les plus utiles sont:
HUP Pour de nombreux processus serveur, ce signal les amènera à relire leurs fichiers de configuration. STOP Suspend le processus jusquà ce quun signal CONT soit reçu. CONT Reprend un processus qui a été suspendu par un signal STOP.
La page dinformations peut également être utilisée pour modifier le niveau agréable dun processus en cours dexécution, en lui donnant une priorité supérieure ou inférieure.Pour modifier la priorité dun processus, sélectionnez un nouveau niveau dans la liste * Niveau de Nice *, puis cliquez sur le bouton Modifier. Des niveaux plus bas signifient des priorités plus élevées, donc un processus avec un bon niveau de 10 obtiendra plus de temps processeur quun processus avec le niveau 5.
Sur un système avec plusieurs utilisateurs, des processus de longue durée qui prennent beaucoup de temps Le temps CPU doit avoir un niveau agréable plus élevé afin quils ne ralentissent pas les processus qui interagissent avec les utilisateurs. Alternativement, vous pouvez accélérer un processus au détriment des autres en lui donnant un niveau agréable inférieur. Vous devez être prudent lorsque vous définissez un niveau extrêmement bas (tel que 20), car tous les autres processus peuvent manquer de temps CPU, ce qui rend le système insensible.
Recherche de processus
Si vous avez un grand nombre de processus en cours d’exécution sur votre système et que vous voulez en trouver un ou plusieurs à tuer ou à afficher, la fonction de recherche du module Processus en cours d’exécution rend cest facile. Pour trouver des processus, procédez comme suit:
- Sur la page principale du module, cliquez sur le lien Mode daffichage de la recherche. Cela vous mènera à un formulaire de recherche comme indiqué dans la capture décran ci-dessous.
- Le formulaire affiche plusieurs critères différents pour rechercher des processus, parmi lesquels vous pouvez en choisir un en sélectionnant la case doption à côté. Les critères sont: Détenu par les processus appartenant à lutilisateur dont vous saisissez le nom ensuite à cette option sera trouvée. # * Correspondance Recherche les processus dont la commande ou les arguments contiennent le texte que vous entrez à côté de cette option. Utilisation de plus de Recherche les processus utilisant plus que le pourcentage de temps processeur spécifié. Utilisation du système de fichiers Processus dont le répertoire actuel est activé le système de fichiers choisi ou si vous accédez à un fichier sur celui-ci sera trouvé. Utile si vous ne pouvez pas ne pas démonter un système de fichiers car il est occupé. Utilisation du fichier Recherche les processus dont le fichier saisi est ouvert en lecture ou en écriture. Si vous entrez un répertoire, tout processus qui la comme répertoire actuel sera trouvé. Utilisation du port Recherche les processus qui envoient, reçoivent ou écoutent le trafic réseau sur le port saisi en utilisant le protocole choisi. Utile si vous connaissez le numéro de port sur lequel un serveur écoute et que vous souhaitez trouver le processus serveur. Utilisation de ladresse Recherche les processus qui ont une connexion réseau ouverte à ladresse saisie, ou qui écoutent sur cette adresse sil sagit dune interface sur votre système.
- Pour filtrer les processus de recherche Webmin à partir des résultats, sélectionnez loption Ignorer les processus de recherche dans les résultats. Cela peut être utile lors de la recherche par utilisation du processeur, car les processus Webmin utilisent beaucoup de temps processeur.
- Après avoir sélectionné les critères de recherche, cliquez sur le bouton Rechercher. Tous les processus correspondants seront affichés sous le formulaire.
- Si vous voulez voir des informations supplémentaires sur un processus, changer sa priorité ou lui envoyer seul un signal, cliquez sur son ID de processus dans les résultats.
- Pour arrêter tous les processus correspondants, cliquez sur le bouton Terminer les processus ou Tuer les processus. Vous pouvez également envoyer nimporte quel signal à tous les processus en le sélectionnant dans la liste à côté du bouton * Envoyer un signal *. Une page saffichera répertoriant chaque ID de processus et indiquant sil a été signalé ou arrêté avec succès.
Lancer un processus
Le module peut aussi être utilisé pour exécuter des commandes simples, soit au premier plan pour que leur sortie soit affichée, soit en arrière-plan sous forme de démons. Cela peut être utile si vous souhaitez simplement exécuter une commande sans avoir à vous connecter via telnet ou SSH (ou si un pare-feu empêche une connexion telnet ou SSH). Les étapes à suivre sont:
- Sur la page principale du module, cliquez sur le lien Exécuter à côté des options du mode daffichage. Cela vous mènera au formulaire de démarrage dun nouveau processus.
- Entrez la commande que vous souhaitez exécuter dans le champ * Commande à exécuter *. Opérateurs de shell et caractères spéciaux tels que;, & lt, > et & & peut être utilisé.
- Si la commande prend beaucoup de temps à sexécuter, vous pouvez définir loption Mode Exécuter sur Exécuter en arrière-plan pour que Webmin la place automatiquement en arrière-plan. Cependant, si vous souhaitez voir la sortie de la commande, laissez loption définie sur Attendre la fin.
- Entrez toute entrée que vous souhaitez ajouter à la commande dans le champ * Input to command *.
- Cliquez sur le bouton Exécuter pour lexécuter. Si loption Attendre la fin de la commande a été sélectionnée, toute sortie de la commande sera affichée.
Exécuter la commande
Options de contrôle daccès au module
Par défaut, tout utilisateur Webmin ayant accès à ce module peut gérer tous les processus en cours dexécution sur le système, comme sil était connecté en tant que root. Cependant, en utilisant le module Utilisateurs et groupes, vous pouvez limiter laccès dun utilisateur afin quil ne puisse tuer ou restaurer que les processus appartenant à un utilisateur Unix particulier.Il est également possible de restreindre un utilisateur en mode lecture seule, ce qui lui permet de ne voir que les processus en ne les modifiant daucune façon ni en en démarrer de nouveaux.
Vous devriez dabord lire le chapitre 52 pour en savoir plus sur le contrôle daccès au module et comment accorder à un utilisateur laccès au module Running Processes. Une fois que cela est fait, pour modifier laccès dun utilisateur Webmin à ce module, les étapes à suivre sont:
- Dans le module Utilisateurs Webmin, cliquez sur Exécuter les processus à côté du nom de lutilisateur ou groupe que vous souhaitez restreindre.
- Remplacez le champ Peut modifier la configuration du module? par Non.
- Pour donner à lutilisateur Webmin laccès uniquement aux processus appartenant à un utilisateur Unix particulier, entrez le nom dutilisateur dans le champ * Gérer les processus en tant quutilisateur *. Si les utilisateurs Unix et Webmin ont le même nom, vous pouvez sélectionner Utilisateur Webmin actuel à la place. Cela peut être utile lors de la configuration du contrôle daccès au module pour un groupe dans lequel vous voulez que chacun membre pour ne pouvoir gérer que ses propres processus.
- Pour mettre lutilisateur en mode lecture seule, définissez les champs * Peut tuer et renommer les processus? * et Peut exécuter des commandes? * sur * Non. Si ceci est fait, le nom dutilisateur que vous entrez à létape 7 na pas vraiment dimportance car aucune gestion de processus ne peut être effectuée.
- Cliquez sur le bouton Enregistrer pour activer vos modifications.
Pour restreindre les processus quun utilisateur Webmin peut gérer, le code du module bascule simplement pour sexécuter en tant quutilisateur Unix spécifié à létape 4. Parce quun utilisateur Unix ne peut pas tuer ou redéfinir les priorités dun processus quil ne possède pas, changer dutilisateur comme celui-ci oblige le système dexploitation à appliquer automatiquement le contrôle daccès aux processus pour Webmin.
Autres systèmes dexploitation
Parce que les processus existent sur toutes les versions dUnix avec presque attributs identiques, ce module apparaît presque exactement le même sur tous les systèmes dexploitation pris en charge.
Lors de laffichage dinformations détaillées sur un processus, différentes informations peuvent être disponibles sur dautres systèmes dexploitation. La gamme de niveaux agréables peut également être différente, mais des niveaux inférieurs signifient toujours une priorité plus élevée et vice-versa.
Lors de la recherche dun processus, les critères Utilisation du système de fichiers, Utilisation du fichier ou Utilisation du port peuvent ne pas être disponibles. Ces options dépendent des commandes fuser et lsof qui ne sont pas disponibles ou installées par défaut sur tous les systèmes.