Я использую скрипт bash для запуска многих итераций пакета.Я не писал этот пакет, и он имеет досадную особенность, которая время от времени кажется просто зависает по неизвестной причине и будет зависать, пока я не убью работу.Программа записывает в выходной файл довольно регулярно (каждую минуту или около того из опыта), когда все идет гладко, поэтому я хотел бы сравнить время последней записи файла с текущим временем и, если разница велика, скажем,более часа перезапустите текущую итерацию.
Я нашел решения с помощью bash для запуска других команд через некоторое время после начала длинной команды, но, похоже, не могу понять, как обобщить это на то, что янужно.
Я ищу что-то вроде этого:
for iteration in {0..100}
do
./(long_command)
while [ $current_time - $last_file_update < $hour ]
do
sleep 60
done
if[ (long_command is still running ) ]
then
(restart iteration)
fi
done