Tout d'abord je voudrais dire que je l'ai bien cherché la solution à mon problème dans web/stackoverflow ..fonction d'arrière-plan dans le script shell ne reçoit pas tué
Je vais avoir le scénario de script shell suivant :
#!/bin/bash
{
while :
do
echo "running"
sleep 2
done
}&
procid=$!
echo $procid
trap "kill -15 $procid" 2 15
Même après avoir interrompu le processus avec Ctrl-C, le processus d'arrière-plan continue d'imprimer "en cours d'exécution" dans l'invite. Je dois tuer le processus d'arrière-plan du terminal en utilisant "kill -9 PID", où PID est l'ID de processus du processus d'arrière-plan. J'ai essayé sans le & (pas en arrière-plan) et le script se termine bien avec Ctrl-C.
Les solutions à ce problème sont suggérées dans ces liens, mais cela ne fonctionne pas comme souhaité (le processus d'arrière-plan ne se fait pas tuer). je me suis référé à ces liens:
How do I kill background processes/jobs when my shell script exits?
Je doute que vous obtenez d'interrompre le posté script, car il se termine sans attendre, il semble donc que ce script ne n ot représenter votre scénario réel. – Armali