Существует способ запросить ps
для получения информации о конкретном PID или списке PID.
Это должно сработать в вашем случае. Если эта команда возвращает что-либо отличное от нуля, то хотя бы один из PID в списке все еще активен / не завершен.
ps -p $(echo ${pid_list} | sed 's/\ /,/g') | tail -n +2 | wc -l
Пояснение:
ps -p
принимает список идентификаторов PID, разделенных запятыми, для получения информации.
sed 's/\ /,/g'
заменяет разделители пробелами на запятые
tail -n +2
удаляет первую строку в выводе, которые являются только заголовками
wc -l
считает количество возвращаемых строк.