[CLI] Programmer le démarrage d'un prog à la fin d'un PID

Bonsoir,

Question du soir : Supposons que j’aie un programme qui tourne dans une console (genre apt-get update).

Je veux pouvoir lancer automatiquement un apt-get dist-upgrade après que le apt-get update soit fini.
De plus, je ne veux pas avoir à terminer le premier processus.

Autrement dit :

  • Le PID XXX tourne.
  • Je veux lancer sous Bash le programme AAA dès que XXX sera terminé (ou tué, ou defunct).

Comment faire ?

Le mieux reste de prévoir ça avant de lancer le premier programme… :wink:

prog1 ; prog2 lancera prog2 dès que prog1 est fini (quel que soit son résultat).
prog1 && prog2 ne lancera prog2 que si prog1 se termine sans erreur (code de retour 0).

Bon par contre si tu n’as vraiment pas le choix et que tu dois attendre un programme qui tourne déjà, tu peux faire quelque chose du genre :

Où bien sûr PID est à remplacer par le pid du premier programme, et PROG2 par la commande que tu veux exécuter à la suite.

Oui c’est exactement cette dernière solution !

En réalité, ça m’arrive tout le temps de me planter, de lancer un truc en oubliant que ça va durer des plombes… Et si je veux que ça se fasse pendant la nuit… :slightly_smiling:

Merci, je vais faire mes petits tests !

Ça fonctionne bien, merci !

Je suis sûr qu’on peut faire un script intéressant avec une recherche par pattern dans le nom du programme (comme dans killall) :slightly_smiling: