如果 MySQL 服务器在线,如何使用 tcl 检查
How to check with tcl if MySQL Server online
我有一个连接到其他服务器上的 mysql 数据库 运行 的 Tcl 脚本。
现在,如果我重新启动另一台服务器,脚本将终止。
有没有办法在连接之前检查服务器或更好的 mysql 服务是否 运行?
提前致谢
检查是否有任何服务 运行 的方法是连接到它并要求它做一些微不足道的事情(通常是通过登录或做某种空操作)。如果失败,则服务已关闭,如果成功,您将获得可以使用的连接(好吧,暂时)。
catch
命令可以捕获来自命令的问题。如果命令成功,它给出 0 结果,如果命令失败,它给出 1 结果。 (还有其他代码用于更罕见的情况,例如 return
、break
或 continue
,它们通过使用特殊异常在 Tcl 中工作。您不应该从连接命令中获取这些代码到数据库!)因此,您可以这样做:
if {[catch {command-to-connect to-the-database}]} {
# It went wrong...
}
这一切都遵循了请求原谅而不是请求许可的一般原则。
我有一个连接到其他服务器上的 mysql 数据库 运行 的 Tcl 脚本。 现在,如果我重新启动另一台服务器,脚本将终止。
有没有办法在连接之前检查服务器或更好的 mysql 服务是否 运行?
提前致谢
检查是否有任何服务 运行 的方法是连接到它并要求它做一些微不足道的事情(通常是通过登录或做某种空操作)。如果失败,则服务已关闭,如果成功,您将获得可以使用的连接(好吧,暂时)。
catch
命令可以捕获来自命令的问题。如果命令成功,它给出 0 结果,如果命令失败,它给出 1 结果。 (还有其他代码用于更罕见的情况,例如 return
、break
或 continue
,它们通过使用特殊异常在 Tcl 中工作。您不应该从连接命令中获取这些代码到数据库!)因此,您可以这样做:
if {[catch {command-to-connect to-the-database}]} {
# It went wrong...
}
这一切都遵循了请求原谅而不是请求许可的一般原则。