Execute isso nos processos que o usuário possui. Se tiver problemas em um processo específico, ele mostrará o processo pai. Você pode então executar o script no processo pai.
Ainda não encontrei um processo que não seja posteriormente eliminado.
Crie o script bash com:
$ gedit killprocess.sh
O script:
#!/bin/bash
if [[ ! "$1" ]]
then
echo "Parameter error... exiting..."
exit
fi
process=$1
count=0
results=0
while [[ $(ps h -fp $process) ]]
do
kill -9 $process
str1=$(ps h -fp $process|awk '{print "["$2"]["$3"]"}')
results=$?
echo -ne "[$str1]Response:$results..."
ret2=$(ps -ef | egrep "\s$process\s" | awk '$2 == '$process'{print "["$2"]["$3"]"}')
if [ ! "$ret2" ]
then
break
fi
if [[ -f stop ]]
then
exit
fi
if [[ $((count++)) -gt 5 ]]
then
echo -ne "\nGiving up... exiting...\n"
exit
fi
sleep 20
done
echo -ne "\n"
Torne-o executável:
$ chmod +x killprocess.sh
Execute o script:
$ sudo ./killprocess.sh