Tuez un processus avec une seule commande

Plusieurs fois, nous devons tuer un processus via un terminal. Si nous connaissons le nom complet du processus (par exemple: kate) nous n'avons aucun problème, un simple:

killall kate

Cela résout le problème pour nous… mais que se passe-t-il si nous ne connaissons pas le nom exact du processus?

À ces occasions, nous devons répertorier tous les processus avec psaux comme indiqué dans la capture d'écran suivante:


Recherchez ensuite le PID du processus, qui dans ce cas, nous recherchons le PID de kate:


D'ici là, faites un:

kill 3808

Et voila, là nous tuons le processus.

Eh bien ... en une seule ligne, nous pouvons rechercher le processus (sans avoir à connaître le nom complet), trouver son PID, et aussi le tuer:
ps ax | grep kat | grep -v grep | awk '{print $2}' | xargs kill

Comme vous pouvez le voir:

  1. Nous listons les processus (psaux)
  2. Nous ne connaissons pas le nom complet ou exact de kate (hé, ça pourrait être kate-editor ou quelque chose comme ça) donc nous ne filtrons que par chat (grep-kat)
  3. Mais nous obtiendrons deux processus liés à kat si nous n'utilisons que ce filtre, un qui est le processus de kate, et un autre qui est le processus que nous activons pour le filtrage, je vous laisse une capture d'écran pour que vous puissiez finir de comprendre: (Notez qu'il y a 2 lignes, c'est-à-dire 2 processus)

  4. Pour éviter ce qui a été expliqué précédemment, nous faisons un autre filtre (grep -v grep). Ce que nous ferons le contraire ... si nous filtrons en utilisant grep, il ne montrera que les correspondances avec le filtre, enfin avec grep-v Nous vous demandons de NE PAS montrer les correspondances, mais de montrer ce qui ne correspond pas. Je vous montre la capture d'écran de la façon dont le résultat serait jusqu'à présent: (Notez que maintenant seul le processus de Kate apparaît)

  5. Eh bien, nous avons déjà le processus que nous voulons tuer isolé, maintenant nous n'avons plus qu'à extraire son PID, qui est le 2ème nombre, c'est-à-dire 4062. Et le PID est dans la 2ème colonne (La première colonne contient l'utilisateur avec l'UID 1), donc en utilisant awk, nous pouvons dire qu'il montre uniquement à partir de cette ligne ce qu'il trouve dans la 2ème colonne (awk '{print $ 2}'). Ce qui ne nous montrerait que le numéro de processus, c'est-à-dire que seul le PID apparaîtra dans le terminal.
  6. Mais nous ne voulons pas montrer le PID, ce que nous voulons, c'est tuer le processus avec ce PID ... alors nous allons le faire, nous passons ce que nous avons jusqu'à présent à la commande tuer et prêt (xargs tuer)
  7. Que signifie ce xargs? ... simple, dans ce cas on ne peut pas passer le PID pour tuer uniquement avec des tuyaux ( | ), ce n'est tout simplement pas suffisant, donc xargs (qui permet de passer des valeurs ou des données puis de les exécuter ou de les tuer) est ce qui nous permettra de terminer le travail.

Et ici ça se termine 😀

Oui ... je sais que cela semble un peu complexe, c'est précisément pourquoi j'ai essayé de l'expliquer du mieux que je pouvais.

Je sais que peu de gens auront peut-être besoin de cette commande, mais l'objectif de cet article est le même que celui de DesdeLinux, leur apprendre quelque chose de nouveau chaque jour, en essayant toujours de leur faire perdre leur peur de Linux... et, personnellement, j'aimerais aussi qu'ils apprennent à utiliser le terminal sans crainte 😉

Bref ... j'espère que vous l'avez trouvé intéressant, j'apprends toujours à l'utiliser awk ce qui est vraiment super hehe.

salutations


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données: Miguel Ángel Gatón
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.

  1.   ézitoc dit

    C'est vrai, awk m'a été très utile et je pense que quiconque a besoin de manipuler des fichiers texte structurés est fortement recommandé de savoir comment l'utiliser.

    J'ai juste une question (rien à voir avec l'entrée: D), comment (et avec quel programme) avez-vous fait cet effet de flou qui vous permet de mettre en évidence une partie de la capture d'écran?

    Salutations.

    1.    ézitoc dit

      Essai si cela du format ça marche et sinon quelqu'un me dit comment faire

      Merci beaucoup.

    2.    KZKG ^ Gaara dit

      Eh bien oui ... J'ai redécouvert Linux maintenant que je sais travailler avec awk HAHAHAHA.
      A propos de l'effet et autre, rien ... c'est juste Gimp 😀

      Je sélectionne la partie que je veux mettre en évidence, la coupe avec [Ctrl] + [X] et la colle comme nouveau calque, puis je sélectionne le calque inférieur (qui est celui que je veux opaque) et je vais dans Filtres- » Gaussien (ou ce que vous écrivez hehe) et voila.
      Maintenant, pour lui donner l'effet sombre, je crée simplement un nouveau calque (fond blanc) et le place entre ces deux que j'avais déjà, je lui donne une couleur noire et dans la barre de transparence (coin supérieur droit) je le déplace là où J'obtiens l'effet désiré.

      Salutations et merci pour le commentaire 🙂

      1.    Roberto Evolving Santana dit

        Grand!!

  2.   Manuel de la source dit

    Si le processus provient d'un programme visible, rien de plus confortable que de taper xkill sur la console, cliquez sur le programme à tuer, et voilà.

    1.    KZKG ^ Gaara dit

      cliquez sur le programme à tuer
      hehe ouais ... c'est en supposant que vous avez une interface graphique hehe.

      1.    Manuel de la source dit

        C'est vrai, c'est pourquoi j'ai dit "si le processus provient d'un programme visible".

        1.    Windousico dit

          Il est plus facile de cliquer sur le bouton avec le "X". GNOME Shell a toujours ce bouton, non? :-RÉ.

          1.    Manuel de la source dit

            Si le programme est gelé (ce qui est la raison principale pour laquelle vous auriez besoin de tuer son processus), il est logique que ce bouton ne réponde pas, peu importe combien vous appuyez dessus.

            Je pense que GNOME Shell le supprimera bientôt afin que vous puissiez voir la merveille tactile de fermer les fenêtres en les faisant glisser vers le bas de l'écran comme dans Windows 8. Inutile de dire que sur les moniteurs à écran large, c'est un exercice fantastique.

          2.    Windousico dit

            Maintenant je comprends. Dans ce cas, je préfère Control + Alt + Esc (dans KDE).

            J'ai hâte de voir les nouveaux aperçus de GNOME Shell, ils sont un vrai régal.

  3.   correct dit

    Cela fait la même chose mais moins est écrit.
    Dans ce cas, j'ai pris le leafpad comme exemple, c'est pourquoi la feuille apparaît dans grep
    ps -e | grep leaf | awk '{print $1}' | xargs kill

    salutations

  4.   Sys dit

    Phew! Mon fils, essayez d'exécuter "pgrep kat", qui est "pgrep" pour quelque chose.

    Et d'exécuter "man pgrep". Et "man pidof", qui parfois "pidof" peut vous aider.

    Et pour exécuter «ps aux | grep [k] at ", qui ne retournera pas comme résultat" le processus que nous activons pour le filtrage "que vous commentez, vous épargnant ainsi du travail.

    Salutations!

    1.    Sys dit

      Oh, et "pkill", qui fait ce que vous recherchez. Par exemple: "pkill kat".

    2.    KZKG ^ Gaara dit

      Oh, intéressant ... je ne connaissais pas pgrep 🙂
      Merci pour la pointe 😀

      1.    Sys dit

        Merci à vous et à vos articles.

        Au fait, dans https://flossblog.wordpress.com/2009/11/11/truco-del-dia-excluir-al-proceso-grep-en-la-salida-de-ps-aux/ commenter la technique d'utilisation des commandes comme «ps aux | grep [n] nom_programme ", ils l'expliquent mieux que moi là-bas.

        Salutations!

        1.    KZKG ^ Gaara dit

          Merci pour le lien 😀
          C'est ce qui est formidable dans son existence. DesdeLinux…peu importe que vous soyez utilisateur, éditeur ou administrateur, nous apprenons tous toujours de nouvelles choses 🙂

          Salutations et merci encore mon ami.

  5.   Coût dit

    Merci à tous pour votre temps et votre dévouement, cela vaut la peine de visiter et de lire ce site plusieurs fois par jour.

    Merci encore une fois.

  6.   M. Linux. dit

    KZKG ^ Gaara est presque toujours le même, quand il s'agit de ce genre de conseils, il y a une autre personne qui fait la même chose avec une simple commande. Mais je le félicite, il contribue constamment.

    1.    KZKG ^ Gaara dit

      hehe yep… Je sais comment faire X osa et je viens ici et partage la méthode, mais ensuite ils partagent un moyen plus simple de réaliser la même chose hahaha, mais avec cela nous gagnons tous, non? 😀

      1.    Truko22 dit

        C'est vrai 0 /

      2.    Manuel de la source dit

        Hahaha, tu vas toujours de la manière la plus compliquée. 😀

        1.    KZKG ^ Gaara dit

          HAHAHA oui, j'ai toujours pensé: «Si je sais comment le faire de la manière difficile, alors je saurai comment apprendre à le faire de manière simple et sans problèmes.»Et… vice versa ça ne marche pas de la même façon hahaha.

  7.   oscar dit

    Le problème serait si nous avons deux processus avec un nom similaire.
    Par exemple, un processus de kate, et un autre processus de ... mmm ... disons kater xD
    Avec un tel ordre, nous les tuerions tous les deux, non?

    1.    KZKG ^ Gaara dit

      Eh bien oui, ça arriverait 🙂

  8.   Truko22 dit

    TT pauvre Kate. J'utilise xkill dans KDE, il se lance rapidement avec "ctrl + alt + esc" ou aussi avec "ctrl + Esc" ouvrir "System Activities" et le faire graphiquement. Maintenant, cette procédure via le terminal doit être apprise, bien que j'aie un serveur domestique avec Debian stable et qui ne se bloque pas du tout.

  9.   Yulian dit

    Brillant! maintenant que je suis en train de suivre le cours sur les systèmes d'exploitation et que je dois effectuer des tâches avec le terminal, votre tutoriel a été d'une grande aide! Merci

  10.   pablo dit

    Très bien expliqué, super le blog que je viens de rencontrer, je le pointe vers les favoris. Je vous remercie.

  11.   Anon dit

    Eh bien, c'est bien, bien qu'il y ait des moments où ils ne peuvent pas être tués….

  12.   Décoy dit

    pkill-9

    1.    Décoy dit

      pkill -9 "nom du processus"
      dans le commentaire précédent j'ai mis «» mais il n'est pas sorti xD

  13.   au mieux dit

    bonne nuit, j'ai le temps de lire votre flux et aujourd'hui j'ai décidé d'essayer cette commande ps ax | grep chrome | grep -v grep | awk '{imprimer $ 1}' | xargs kill et je rencontre l'erreur de suppression suivante: impossible de trouver le processus "?" avec le peu d'expérience que j'ai en bash j'ai décidé de faire quelques modifications et à la fin je me retrouve avec ps -A | grep c | grep -v grep | awk '{imprimer $ 1}' | xargs kill étant donné que ps -A est utilisé pour afficher tous les processus sous forme de résumé et la deuxième anomalie est qu'il a lancé le TTY «?» et cela a fonctionné pour moi merci beaucoup j'aime beaucoup votre blog, salutations

  14.   Michael dit

    Merci compa, vous ne pouvez pas imaginer la quantité de problèmes que vous venez de résoudre pour moi avec cette commande.

    Salutations !!

  15.   e-mail dit

    MERCI !!!!

  16.   Arthur dit

    Excellent poste. Juste ce que je cherchais et je ne savais pas comment le faire, et l'explication était très bonne.

    Salutations.