Hello @domoticity
Ce que j’ai fait avec pgrep ne sert plus à rien.
Tu tuerai le PID courant ou le PID du parent ? ![]()
Je vais probablement faire des essais de mon côté.
Merci bien mattotop.
J’ai ça qui fonctionne :
#!/bin/bash
sleep 10 && kill $$ 2>&1 &
while :
do
echo "."
sleep 1
done
exit 0
Avec le PID du parent ($PPID) ça ne marche pas ;
le parent dans mon cas est le processus bash lui-même, ouvert dans mon terminal.
Car je lance les scripts tout bêtement avec :
$ ./monscript.sh
Je crois que ce n’est pas trop une bonne idée d’utiliser 2>&1 & en phase de test
car c’est peut-être trop silencieux pour voir les messages éventuels.
Utiliser un simple & peut suffire au début.
Et en plus je l’ai juste recopié d’un tuto sans bien comprendre…
Je me renseigne davantage alors :
Une astuce est de se rappeler que 1 = sortie standard, 2 = erreur standard. Alors :
2>&1= le flux d’erreur standard passe dans le flux de sortie standard.
1>&2= vice versa.J’ai choisi de considérer l’esperluette (&) comme faisant référence
à l’« adresse » du descripteur de fichier existant.Une esperluette afin que vous ne changiez pas le fichier lui-même
ou que vous n’en créiez pas un nouveau.Il est facile de se le rappeler si vous avez déjà programmé en langage C
https://unix.stackexchange.com/questions/746/how-could-i-remember-how-to-use-redirection
Voir aussi https://www.debian-fr.org/t/dd-recuperer-lavancement/79639/10?u=r2mi
Mon but au début était de rendre la commande silencieuse
et en fin de compte je l’obtiens avec à minima :
sleep 10 && kill $$ > /dev/null &
Tant de jeunes années perdues ou presque avec l’interpréteur COMMAND.COM ![]()
Je n’ai plus le feu sacré que j’ai pu avoir.