Présenter avec la commande PS dans Linux:
Pour commencer, exécutons la commande ps sans paramètres. Dans ce cas, la commande PS affichera uniquement les processus exécutés par l'utilisateur racine.
$ ps
Comprendre le ps Sortie de commande:
Les 4 colonnes affichées contiennent les informations suivantes:
Si vous souhaitez afficher tous les processus d'utilisateurs, vous devez ajouter l'indicateur -hache comme indiqué ci-dessous:
$ ps -ax
Le drapeau -un Utilisé dans la capture d'écran ci-dessous indique que le PS affiche tous les processus, sauf à la fois les leaders de session et les processus non associés aux terminaux. Le drapeau -X affiche des processus sans terminal contrôlant et processus avec un terminal contrôlant.
Note: Un leader de session est un processus dont le PID et le SID sont les mêmes.
La plupart des utilisateurs de Linux exécutent ps -axu. Le drapeau -u montre l'utilisateur efficace d'un processus. Un utilisateur efficace est l'utilisateur dont les autorisations d'accès aux fichiers sont utilisées par le processus (ce sujet est expliqué dans le tutoriel setuid, setgid et bit collant expliqué).
Comme vous pouvez le voir dans la capture d'écran ci-dessous, en ajoutant le -u Flag des nouvelles colonnes apparaîtra.
$ ps -axu
Les colonnes affichent les informations suivantes:
UTILISATEUR: montre l'utilisateur efficace, dont les autorisations sont utilisées pour exécuter le processus.
%CPU: Cette colonne affiche le calcul du temps utilisé par le processus divisé par le moment où le processus est en exécution.
% MEM: Cette colonne montre le RSS (taille de set résidente) divisé par la mémoire utilisée. Cette colonne n'est pas recommandable aux utilisateurs pour vérifier l'utilisation de la mémoire car la quantité de mémoire utilisée n'est pas exacte. Si vous souhaitez vérifier l'utilisation de la mémoire par processus, vous pouvez lire comment vérifier l'utilisation de la mémoire par processus sur Linux.
VSZ: Montre la mémoire virtuelle utilisée par le processus.
RSS: Taille de l'ensemble résident. Montre la mémoire occupée par un processus dans la mémoire RAM (pas en swap).
COMMENCER: Cette colonne montre quand le processus a commencé.
TEMPS: L'utilisation du procédé processeur du procédé ou du thread, incrémentée chaque fois que l'horloge du système coche et le processus ou le thread est en cours d'exécution
COMMANDE: C'est la même chose que la colonne CMD expliqué précédemment.
STAT: Les statistiques de colonne affichent des états de code pour le processus. Les statistiques de code possibles expliquées dans la page PS Man sont:
Affichage d'un processus utilisateur spécifique à l'aide de PS:
Si vous souhaitez vérifier uniquement les processus exécutés par un utilisateur spécifique (utilisateur efficace), vous pouvez utiliser -u drapeau; expliqué précédemment sans drapeaux supplémentaires, suivis du nom d'utilisateur dont vous souhaitez énumérer les processus que vous souhaitez énumérer. Cela montrera l'utilisateur efficace, dont les autorisations sont utilisées pour exécuter le processus, mais pas l'utilisateur qui a appelé le processus (réel utilisateur).
Note: Si vous ne savez pas ce que sont les utilisateurs efficaces et réels, l'explication est à la fin de cette section.
L'exemple suivant montre des processus pour l'utilisateur linuxhint En tant qu'utilisateur efficace.
$ ps -u Linuxhint
Si au lieu de vérifier les utilisateurs efficaces, vous souhaitez vérifier les processus exécutés en tant qu'utilisateurs réels, utilisez simplement un capital U plutôt.
$ ps -u Linuxhint
Utilisateurs efficaces vs utilisateurs réels:
Le véritable ID utilisateur représente l'utilisateur qui exécute un processus. Par exemple, l'utilisateur qui appelle un programme dans le terminal. L'ID utilisateur efficace représente l'utilisateur dont les autorisations sont utilisées pour exécuter un programme. Ceci est applicable, par exemple, lorsqu'un utilisateur exécute un programme avec setuid. La même chose se produit avec les groupes, et nous pouvons identifier des groupes efficaces et réels. Si vous ne comprenez pas ce sujet, vous pouvez lire le tutoriel setuid, setgid.
Affichage d'un processus utilisateur spécifique à l'aide de PS:
Si vous souhaitez montrer de vrais processus de groupe, un capital -g suivi par le groupe l'affichera.
$ ps -g racine
Si vous souhaitez afficher des groupes efficaces, ajoutez le -g drapeau suivi du groupe effectif.
$ ps -g racine
Affichage de la hiérarchie des processus:
Le drapeau -forêt vous permet d'afficher des processus montrant la hiérarchie et les processus associés comme indiqué dans la capture d'écran ci-dessous.
$ ps -axu --forest
Afficher les processus par Tty:
Vous pouvez également utiliser la commande PS pour afficher les processus démarrés par un terminal spécifique, ou à quels processus terminaux appartiennent. Vous pouvez l'implémenter en ajoutant le -t drapeau suivi du tty que vous souhaitez identifier, comme indiqué dans l'exemple ci-dessous.
$ ps -t tty1
Affichage d'informations supplémentaires sur les processus:
Il existe différentes versions PS: versions UNIX, BSD et GNU. Ce tutoriel est optimisé pour la version Unix. Vous pouvez afficher la version BSD avec des informations supplémentaires en ajoutant le -l Flag comme indiqué dans la capture d'écran ci-dessous. Il ajoutera de nouvelles colonnes avec des informations supplémentaires.
$ ps -l
Comme vous pouvez le voir, les nouvelles colonnes sont UID, PPID, PRI, NI et WCHAN.
Uid: Montre l'ID de l'utilisateur qui a exécuté le processus.
PPID: Montre le processus parent PID.
Pri: Montre la priorité du processus (noyau)
Ni: Montre la priorité du processus (espace utilisateur)
Wchan: Montre le nom de la fonction du noyau dans lequel les processus dorment.
Il y a beaucoup plus sur la commande ps que vous pouvez lire sur la page de l'homme ou sur un prochain tutoriel que Linux indiquera sur la commande PS pour les utilisateurs avancés.
Conclusion:
La commande ps est une commande de base tout utilisateur de Linux doit savoir comment appliquer et comprendre. Apprendre à utiliser et à interpréter la sortie est un moyen réel d'incorporer des connaissances supplémentaires, comme des utilisateurs et groupes efficaces et réels.
Comme le montre ce tutoriel, tout niveau d'utilisateur Linux peut facilement apprendre à implémenter cette commande avec tous les indicateurs et options disponibles.
J'espère que ce tutoriel a été utile. Continuez à suivre l'astuce Linux pour plus de conseils et de tutoriels Linux.