killall no funciona si lo llamo desde un script

Estoy comenzando un tcpdump dentro de un script y también lo elimino del mismo script. Así que actualmente estoy usando el command killall para esto: el script se ejecuta desde una regla udev: esta es la sección, que debería terminar el tcpdump: Además también uso -s SIGKILL , porque he leído que esto también podría ser ayuda.

¿Cuál es el problema de que killall no termina el tcpdump? Cuando inicio el script manualmente todo está funcionando correctamente.

  if [[ "$pid1" != "" ]];then sudo killall -s SIGKILL tcpdump sh /tmp/scripts/autoumount.sh & sudo kill -9 $$ echo "autodump stopped"