GNU/Linux >> Tutoriels Linux >  >> Panels >> Webmin

Processus en cours d'exécution

Cette page explique comment gérer les processus en cours d'exécution sur votre système à l'aide de Webmin.

Contenu

Introduction aux processus

Chaque programme, processus ou commande exécuté sur un système Linux est un processus . À tout moment, des dizaines de processus s'exécutent sur votre système, certains pour les programmes avec lesquels vous interagissez graphiquement, certains pour les commandes que vous avez lancées à une invite du shell, certains pour les serveurs exécutés en arrière-plan et certains qui effectuent des tâches système. Chaque fois que vous tapez une commande comme ls ou vi à l'invite du shell, un nouveau processus est créé, pour se terminer dès que son travail est terminé.

Chaque processus est identifié par un identifiant unique, appelé PID ou identifiant 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 le temps CPU que le processus peut utiliser sur un système occupé. Presque chaque processus a un parent, qui est le processus qui l'a lancé et dont il hérite de la propriété, de la priorité et d'autres paramètres.

Un processus s'exécutera jusqu'à ce qu'il choisisse de quitter, ou jusqu'à ce qu'il soit tué par un signal d'un autre processus.

Le module Processus en cours d'exécution

Ce module peut être utilisé pour afficher, tuer, redéfinir les priorités et exécuter des processus sur votre système. Lorsque vous y entrez pour la première fois à partir de la catégorie Système, la page principale affiche une arborescence de processus comme indiqué ci-dessous.

Affichage de l'arborescence du module Processus en cours

Le module a plusieurs façons différentes de visualiser tous les processus de votre système, sélectionnables par l'Affichage liens en haut de la page principale. Ce sont :

PID
Dans ce mode d'affichage, chaque processus est affiché en retrait sous son parent, formant une arborescence de tous les processus en cours d'exécution sur votre système. Au sommet de l'arborescence se trouve la commande init, qui est lancée par le noyau au moment du démarrage et n'a donc pas de parent.
Utilisateur
Ce mode regroupe les processus selon leur propriétaire. Cela peut être utile sur les systèmes avec de nombreux utilisateurs pour voir en un coup d'œil ce que chaque utilisateur exécute.
Mémoire
Dans ce mode, les processus sont classés selon la quantité de mémoire qu'ils utilisent, ceux qui utilisent le plus de mémoire étant affichés en haut de la page. L'utilisation de la mémoire d'un processus n'est pas toujours indicative de la quantité de mémoire qu'il 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 d'affichage ordonne les processus en fonction de leur utilisation actuelle du processeur, l'utilisateur 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 l'occupation du système au cours des 1,5 et 10 dernières minutes. Une moyenne de 0 signifie aucune activité, 1 signifie que le CPU est pleinement utilisé et tout ce qui est supérieur à 1 signifie qu'il y a plus de processus à exécuter que le système n'a de temps CPU pour.

La recherche et Exécuter les options permettent de rechercher des processus et d'en exécuter de nouveaux, respectivement. Voir les sections ci-dessous pour plus de détails.

Afficher, tuer ou redéfinir la priorité d'un processus

Vous pouvez voir tous les détails de n'importe quel processus en cours d'exécution en cliquant sur son ID de processus entrée de colonne dans l'un des affichages de la page principale. Cela vous amènera à la page d'informations sur le processus, illustrée dans cette capture d'écran.

Informations détaillées sur un processus

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 d'informations du parent en cliquant sur sa commande, ou à la page de l'un des sous-processus en cliquant sur son ID de processus. Une liste des fichiers ouverts par le processus et des connexions réseau qu'il utilise actuellement peut être consultée en cliquant sur Fichiers et connexions bouton.

Le processus peut s'arrêter à l'aide d'un signal TERM en cliquant sur Terminer le processus bouton. Comme cela peut être ignoré par certaines commandes, le Kill Process peut être utilisé pour envoyer un signal KILL si la terminaison échoue. À moins que le processus ne soit suspendu à l'intérieur d'un appel système du noyau, sa suppression est garantie de réussir.

D'autres signaux peuvent être envoyés en sélectionnant le type de signal à côté de Envoyer le signal bouton avant d'appuyer dessus. Certains des signaux les plus utiles sont :

HUP
Pour de nombreux processus serveur, ce signal les obligera à relire leurs fichiers de configuration.
ARRÊTER
Suspend le processus jusqu'à ce qu'un CONT le signal est reçu.
SUITE
Reprend un processus qui a été suspendu par un STOP signal.

La page d'informations peut également être utilisée pour modifier le niveau de gentillesse d'un processus en cours d'exécution, en lui donnant une priorité plus ou moins élevée. Pour modifier la priorité d'un processus, sélectionnez un nouveau niveau dans la liste *Nice level*, puis cliquez sur Modifier bouton. Des niveaux inférieurs signifient des priorités plus élevées, donc un processus avec un bon niveau de 10 obtiendra plus de temps CPU qu'un avec le niveau 5.

Sur un système avec plusieurs utilisateurs, les processus de longue durée qui consomment beaucoup de temps CPU doivent se voir attribuer un niveau de gentillesse plus élevé afin qu'ils 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 de gentillesse 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.

Rechercher des processus

Si vous avez un grand nombre de processus en cours d'exécution sur votre système et que vous souhaitez en trouver un ou plusieurs à tuer ou à afficher, la fonction de recherche du module Processus en cours d'exécution vous facilite la tâche. Pour rechercher des processus, procédez comme suit :

  1. Sur la page principale du module, cliquez sur Rechercher lien du mode d'affichage. Cela vous amènera à un formulaire de recherche comme indiqué dans la capture d'écran ci-dessous.
  2. Le formulaire affiche plusieurs critères différents pour rechercher des processus, parmi lesquels vous pouvez en choisir un en sélectionnant le bouton radio à côté de celui-ci. Les critères sont :
    Détenu par
    Les processus appartenant à l'utilisateur dont vous saisissez le nom à côté de cette option seront trouvés. #* Correspondance Recherche les processus dont la commande ou les arguments contiennent le texte que vous saisissez à côté de cette option.
    Utiliser plus de
    Trouve les processus utilisant plus que le pourcentage spécifié de temps CPU.
    Utiliser le système de fichiers
    Les processus dont le répertoire actuel se trouve sur le système de fichiers choisi ou qui accèdent à un fichier sur celui-ci seront trouvés. Utile si vous ne pouvez pas démonter un système de fichiers car il est occupé.
    Utilisation du fichier
    Trouve les processus dont le fichier saisi est ouvert en lecture ou en écriture. Si vous entrez un répertoire, tout processus qui l'a comme répertoire courant sera trouvé.
    Utilisation du port
    Trouve les processus qui envoient, reçoivent ou écoutent le trafic réseau sur le port entré en utilisant le protocole choisi. Utile si vous connaissez le numéro de port sur lequel un serveur écoute et souhaitez trouver le processus du serveur.
    Utiliser l'adresse
    Trouve les processus qui ont une connexion réseau ouverte à l'adresse saisie, ou qui écoutent sur cette adresse s'il s'agit d'une interface sur votre système.
  3. Pour filtrer les processus de recherche Webmin à partir des résultats, sélectionnez Ignorer les processus de recherche dans le résultat option. Cela peut être utile lors de la recherche par utilisation du processeur, car les processus Webmin utilisent beaucoup de temps CPU.
  4. Après avoir sélectionné les critères de recherche, cliquez sur Rechercher bouton. Tous les processus correspondants seront affichés sous le formulaire.
  5. Si vous souhaitez voir des informations supplémentaires sur un processus, modifier sa priorité ou lui envoyer un signal seul, cliquez sur son ID de processus dans les résultats.
  6. Pour tuer tous les processus correspondants, cliquez sur Terminer les processus ou tuer les processus bouton. Vous pouvez également envoyer n'importe quel signal à tous les processus en le sélectionnant dans la liste à côté du bouton *Envoyer un signal*. Une page s'affichera répertoriant chaque ID de processus et indiquant s'il a été signalé ou tué avec succès.
Le formulaire de recherche de processus

Exécuter un processus

Le module peut également être utilisé pour exécuter des commandes simples, soit au premier plan pour que leur sortie soit affichée, soit en arrière-plan en tant que 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 :

  1. Sur la page principale du module, cliquez sur Exécuter lien à côté des options de mode d'affichage. Cela vous mènera au formulaire pour démarrer un nouveau processus.
  2. Saisissez la commande que vous souhaitez exécuter dans le champ *Commande à exécuter*. Les opérateurs shell et les caractères spéciaux tels ;, < ,> et &&peuvent être utilisés.
  3. Si la commande est quelque chose qui prendra beaucoup de temps à s'exécuter, vous pouvez définir le mode d'exécution option pour Exécuter en arrière-plan pour que Webmin le mette automatiquement en arrière-plan. Cependant, si vous voulez voir la sortie de la commande, laissez l'option définie sur Attendre jusqu'à la fin .
  4. Entrez toute entrée que vous souhaitez envoyer à la commande dans le champ * Input to command *.
  5. Cliquez sur Exécuter bouton pour l'exécuter. Si le Attendre la fin a été sélectionnée, toute sortie de la commande sera affichée.
    Exécuter la commande

Options de contrôle d'accès aux modules

Par défaut, tout utilisateur Webmin ayant accès à ce module peut gérer tous les processus en cours d'exécution sur le système, comme s'il était connecté en tant que root. Cependant, en utilisant le module Utilisateurs et groupes, vous pouvez limiter l'accès d'un utilisateur afin qu'il ne puisse tuer ou re-nice que les processus appartenant à un utilisateur Unix particulier. Il est également possible de restreindre un utilisateur au mode lecture seule, lui permettant de ne voir que les processus en ne les modifiant en aucune façon ou en en commençant de nouveaux.

Vous devriez d'abord lire le chapitre 52 pour en savoir plus sur le contrôle d'accès au module et sur la façon d'accorder à un utilisateur l'accès aux processus en cours d'exécution module. Une fois cela fait, pour modifier l'accès d'un utilisateur Webmin à ce module, les étapes à suivre sont :

  1. Dans le module Webmin Users, cliquez sur Running Processes à côté du nom de l'utilisateur ou du groupe que vous souhaitez restreindre.
  2. Modifier le Peut modifier la configuration du module ? champ sur Non .
  3. Pour permettre à l'utilisateur Webmin d'accéder uniquement aux processus appartenant à un utilisateur Unix particulier, saisissez le nom d'utilisateur dans le champ * Gérer les processus en tant qu'utilisateur *. Si les utilisateurs Unix et Webmin ont le même nom, vous pouvez sélectionner Utilisateur Webmin actuel Au lieu. Cela peut être utile lors de la mise en place d'un module de contrôle d'accès pour un groupe dans lequel vous souhaitez que chaque membre ne puisse gérer que ses propres processus.
  4. Pour mettre l'utilisateur en mode lecture seule, définissez les paramètres *Peut tuer et renicer les processus ?* et Peut exécuter les commandes ? *champs à *Non . Si cela est fait, peu importe le nom d'utilisateur que vous entrez à l'étape 7, car aucune gestion de processus ne peut être effectuée.
  5. Cliquez sur Enregistrer bouton pour activer vos modifications.

Pour restreindre les processus qu'un utilisateur Webmin peut gérer, le code du module bascule simplement pour s'exécuter en tant qu'utilisateur Unix spécifié à l'étape 4. Parce qu'un utilisateur Unix ne peut pas tuer ou redéfinir la priorité d'un processus qu'il ne possède pas, changer d'utilisateur comme cela provoque le système d'exploitation pour appliquer automatiquement le contrôle d'accès aux processus pour Webmin.

Autres systèmes d'exploitation

Étant donné que les processus existent sur toutes les versions d'Unix avec des attributs presque identiques, ce module apparaît presque exactement de la même manière sur tous les systèmes d'exploitation pris en charge.

Lors de l'affichage d'informations détaillées sur un processus, différentes informations peuvent être disponibles sur d'autres systèmes d'exploitation. 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 d'un processus, le champ Utilisation du système de fichiers , Utilisation du fichier ou En utilisant le port critères 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.


Webmin
  1. Ssh - Continuer à exécuter les processus après la déconnexion de la session Ssh ?

  2. Assurez-vous qu'un processus est toujours en cours d'exécution ?

  3. Changer l'environnement d'un processus en cours ?

  4. Vérifier le processus si le même est en cours d'exécution ?

  5. Comment tuer les processus en cours d'exécution sous Linux

Commande Ps sous Linux (liste des processus)

Comment tuer les processus Zombie sous Linux

Comment trouver et tuer les processus en cours d'exécution sous Linux

Surveillance des processus sous Linux

Commandes pour la gestion des processus sous Linux

Comment tuer les processus zombies dans Ubuntu