O número de processos não deve ser diferente. Você precisa se lembrar ao contar os pids para incluir o próprio script e o subprocesso criado.
Eu criei o seguinte que deve funcionar para seus requisitos. Você deve alterar o tempo limite dependendo da rapidez com que deseja pressionar vários botões.
#!/bin/sh
# /etc/acpi/powerbtn.sh
# Initiates a shutdown when the power putton has been
# pressed.
timeout=0.8
pid_count=$(pidof -x powerbtn.sh | wc -w)
( if [ $pid_count -eq 4 ]; then
sleep $timeout
/etc/acpi/sleep.sh
else
sleep $timeout
pid_count_now=$(pidof -x powerbtn.sh | wc -w)
if [ $pid_count_now -eq 2 ] && [ $pid_count -eq 2 ]; then
poweroff
fi
exit
fi
) &