我有一个 Perl 脚本,它读取命令文件并在必要时通过执行以下操作重新启动:
myscript.pl:
exec '/home/foo/bin/myscript.pl';
exit(0);
现在,这工作正常,除了一个问题。读取命令文件的线程无权访问我使用的 DBI 句柄。在多次重新启动后,我似乎建立了打开的 mysql 连接的数量,直到我得到可怕的“连接太多”错误。DBI 规范说:
“由于这个(可能是临时的)限制,新创建的线程必须自己连接到数据库。句柄不能跨线程共享。”
有什么方法可以关闭连接,或者可能是另一种重新启动脚本的方法?