Я учусь в старшей школе и пытаюсь написать сценарий в bash, который будет отправлять задания, используя команду "qsub" на суперкомпьютере, использующем другое количество ядер. Затем этот сценарий получит данные о количестве ядер и времени, которое потребовалось суперкомпьютеру для завершения моделирования из каждого сгенерированного файла журнала, называемого «log.lammps», и сохранит эти данные в отдельном файле.
Поскольку для полного генерирования каждого файла журнала требуется разное время, я выполнил шаги из https://superuser.com/questions/270529/monitoring-a-file-until-a-string-is-found, чтобы мой сценарий продолжался, когда последняя строка файла журнала с строка "Общее время стены:" была сгенерирована.
В настоящее время я использую следующий код в al oop, чтобы его можно было запускать для всего указанного числа ядер:
( tail -f -n0 log.lammps & ) | grep -q "Total wall time:"
Однако запуск сценария с этим фрагментом кода привел к усечению файла log.lammps, и сценарий не завершился, даже когда файл log.lammps был полностью создан.
Есть ли какой-либо другой способ для моего сценария продолжить только после завершения отправленного задания?