Não há diferença entre kill -9 -$PPID
e kill -9 -- -$PPID
.
Existe uma diferença entre kill -$PPID
e kill -- -$PPID
. O --
marca o final dos argumentos da opção: qualquer argumento após --
, mesmo que comece com -
, não será tratado como uma opção. Sem o --
, o -$PPID
será tratado como o sinal a ser enviado.
IMHO SIGKILL é muito strong. Comece com SIGINT ou SIGHUP, ou o padrão, SIGTERM.