У меня есть Perl-скрипт, который читает командный файл и, при необходимости, перезапускается, выполнив:
myscript.pl:
exec '/home/foo/bin/myscript.pl';
exit(0);
Теперь это работает нормально, за исключением одной проблемы. Поток, который читает командный файл, не имеет доступа к дескриптору DBI, который я использую. И после нескольких перезапусков я, кажется, увеличиваю количество открытых соединений mysql, пока не получу страшную ошибку «Too Many Connections». Спецификация DBI гласит:
"Из-за этого (возможно временного) ограничения вновь созданные потоки должны создавать свои собственные подключения к базе данных. Дескрипторы не могут быть общими для всех потоков."
Есть ли способ закрыть соединение или, возможно, другой способ перезапустить скрипт?