我正在尝试将两个命令链接在一起:
据我所知,'||',';'和'& /&&'和'运算符都要求第一个命令以某种方式终止或退出。对于已启动的服务器,情况并非如此,因此我不确定如何继续。我无法完全并行运行这两个,因为必须启动服务器。
感谢您的帮助!
答案 0 :(得分:1)
我会在单个 bash 脚本中推荐以下内容:
/etc/init.d/postgresql start
或类似psql
命令来测试它的up-ness &&
将该命令与您的基准测试结合在一起,因此仅在psql
命令完成时才会完成(取决于psql
的确切返回码,您可能需要检查从命令输出而不是返回代码)。通过psql
运行的命令最好是一个简单的查询,它连接到服务器并返回一个可以交叉检查的简单值。根据OP的评论进行编辑:
这取决于你想要的基准。如果您只想在服务器启动后对命令进行基准测试,并且不希望每次都重新启动服务器,那么我会调整代码以在单独的块中运行psql
up-ness测试,开始服务器如果没有启动,然后无条件地运行基准测试命令。
如果你确实想每次启动服务器(以测试冷启动性能或类似),那么我会在基准测试命令之后添加另一个命令来关闭服务器,然后睡眠,重新运行用于检查up-ness的测试命令(此时不需要up-ness)。
在其他情况下,您应该能够多次运行脚本。
稍微搁置一下:如果您的测试是破坏性的(也就是说,它写入数据库),您可能需要考虑转储“干净”的副本数据库 - 即处于预测试状态的数据库 - 然后创建一个与原始数据库名称不同的新数据库,在每次运行脚本时使用该转储,事先将其删除。