Assim como Chris Down , vou assumir que você está usando o bash do GNU. Outras conchas podem ser diferentes, mas a ideia geral deve ser a mesma.
No bash, a variável de ambiente $$ contém o ID do processo em execução no momento e $PPID contém o ID do processo pai do processo em execução. Como Chris exemplificou, você pode ir ainda mais longe, mas / proc é específico do Linux.
Você pode perguntar ao usuário se deseja sair usando uma construção como a seguinte.
echo "Do you want to exit? (type YES or NO, then Enter)"
read answer
if test "${answer}" = "YES"; then
# insert process killing magic
fi
# we only get here if the user did not answer "YES"
Se estiver disponível, você pode usar o GNU dialog para tornar a questão um pouco mais bonita. Nesse caso, substitua todo o snippet acima por algo parecido com o seguinte.
if dialog --yesno "Do you want to exit?" 10 50; then
# insert process killing magic
fi
# we only get here if the user did not answer "YES"
Os números 10 50 especificam o tamanho da caixa de diálogo (linhas e colunas, respectivamente).
O process killing magic poderia ser algo tão simples quanto kill $PPID .