imapsync имеет опцию установить, где ее pid записан:
- pidfile: файл, где imapsync pid записан.
В отличие от этого, pidof
, pgrep
может быть дан множество опций ограничить, для каких процессов оно возвращает PIDs. Тот, который может быть особенно полезным, должен выбрать на основе PPID использование PID текущего процесса.
pgrep -P $$ imapsync
который только произведет PIDs imapsync, если они будут детьми Вашего сценария.
Как насчет того, чтобы на мгновение перевести imapsync в фоновый режим, получить PID и затем перевести его на передний план ... Примерно так:
imapsync &
pid=$!
wait $pid
retVal=$?