pidof
não encontrará scripts, uma vez que olha apenas para a primeira parte do nome do processo ( argv[0]
).
Você pode usar pidof -m
, mas isso encontrará qualquer long_running_script.sh
, não apenas aquele iniciado por este script.
A melhor maneira é usar a variável $!
, que contém o PID do trabalho em segundo plano mais recente.
#!/bin/bash
long_running_script.sh &
pid=$!
while ps -p $pid >/dev/null
do
echo "."
sleep 1
done