Se eu entendi bem o seu pedido, você não precisa fazer um grep na variável $PPID , que é usada, talvez, até mesmo pela última execução de script chamada, mas no PID do último script chamado: $$ .
Se você chamar script.sh usando o mesmo bash , $PPID será o mesmo para todas as outras execuções do script script.sh (ou Alert_notifications.sh no seu caso).
Tente alterar algo em seu comando e adicionar um pouco de controle (se quiser):
ps -fu $USER | grep "Alert_notification.sh" | grep -v "grep\|$$" | awk '{print $2}' | xargs kill 2> /dev/null
-
2> /dev/null: você precisa dele para omitir mensagens de erro no caso de algum não será encontrado nenhum processo