[quote=“BelZéButh”]Salut,
[mono]# cat .bashrc[/mono]
[code]function killbill {
BAK=$IFS
IFS=$’\n’
for id in $(ps aux | grep -P -i $1 | grep -v “grep” | awk ‘{printf $2" “; for (i=11; i<NF; i++) printf $i” "; print $NF}’); do
service=$(echo $id | cut -d " " -f 1)
if [[ $2 == “-t” ]]; then
echo $service “$(echo $id | cut -d " " -f 2-)” "would be killed"
else
echo $service \"$(echo $id | cut -d " " -f 2-)\" "killed"
kill -9 $service
fi
done
IFS=$BAK
}[/code][/quote]
Dans cette fonction tu ne tues pas le programme à l’origine des autres, ce qui fait que dans la seconde suivante, ils vont tous redémarrer …
Pour le moment je fais :
$ ps -o pid --no-headers --ppid $MonPID source
Pour avoir la liste des process, puis je kill mon PID source et ensuite ligne par ligne je les kill les uns après les autres.
J’ai besoin de ça dans le cas ou mon appli plante, dans ce cas je n’ai pas la possibilité d’arrêter normalement les process, c’est pour ça que je kill et pas juste TERM.