Forum Programmation.shell Tuer son fils

Posté par  (site web personnel) .
Étiquettes : aucune
0
16
nov.
2005
Le problème est simple; je veux dans un script bash lancer un processus parallèle, et au bout d'un certain temps tuer ce processus parallèle.
Pour l'instant je lance le processus par
machin &
Le problème est que je n'ai pas de manière propre de récupérer son pid.
ps | grep machin | cut -d " " -f2
, je trouve ça un peu crade et ça ne marche pas à tous les
coups.
killall machin, c'est encore plus crade.

Une idée ?
Merci d'avance.
  • # $!

    Posté par  (site web personnel) . Évalué à 7.

    En bash, la variable $! contient le PID de la dernière commande lancée... cf. man bash

    https://damien.pobel.fr

  • # La solution en bash/sh/ksh c'est $!

    Posté par  . Évalué à 6.

    $! est une variable spéciale qui contient le numéro du dernier processus lancé en arrière plan.
  • # Pan Pan

    Posté par  (site web personnel) . Évalué à 4.

    A modifier selon ton code :

    machin &
    PID=$(jobs -p)
    kill $PID


    ou
    machin &
    kill %1
  • # Merci à tous !

    Posté par  (site web personnel) . Évalué à 0.

    Vous êtes trop forts.

    Je n'avais pas pensé au man bash

    (tenté man "&" et apropos "&", mais ça ne le fait pas...)
    • [^] # Re: Merci à tous !

      Posté par  (site web personnel) . Évalué à 2.

      Je sais que ça ne se fait pas de râler quand on s'est fait moinsser, mais pour le coup j'aimerais comprendre.
      Il y a une étiquette locale qui veut qu'on ne poste pas pour dire merci ?
  • # HORREUR!

    Posté par  . Évalué à 3.

    Tuer son fils? Mais je vous l'avais bien dit, Internet est un repaire de criminels! Il faut absolument surveiller tout ca et empêcher que de telles abominations arrivent devant nos yeux. Merci à linuxfr de me fournir un logiciel permettant de filtrer de teles abominations ou je porte plainte!
  • # re

    Posté par  . Évalué à 1.

    sinon, t'as la commande "pidof".

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.