2012-03-07 69 views
0

我想写一个Ruby脚本来杀死我的本地主机上的数据库服务器。通过Ruby连接到HSQL并关闭服务器

当我运行'ant hsql'它启动数据库(输出如下),我必须保持该终端窗口打开。 构建文件:/Users/cparaiso/dev/src/testproject-src/build.xml

hsql: 

install-parent-pom: 
[artifact:install] [INFO] Installing /Users/cparaiso/dev/src/testproject-src/pom.xml to /Users/cparaiso/.m2/repository/org/jasig/portal/uportal-parent/4.0.3/uportal-parent-4.0.3.pom 
    [touch] Creating /var/folders/8v/1k2gkj412q1_8084x6lvtbqr0000gn/T/jasig/uportal-parent.pom-110044247-marker 
    [echo] Starting HSQL on 8887 
    [echo] Using: file:/Users/cparaiso/dev/src/testproject-src/data/uPortal 
    [java] [[email protected]]: [Thread[main,5,main]]: checkRunning(false) entered 
    [java] [[email protected]]: [Thread[main,5,main]]: checkRunning(false) exited 
    [java] [[email protected]]: Startup sequence initiated from main() method 
    [java] [[email protected]]: Could not load properties from file 
    [java] [[email protected]]: Using cli/default properties only 
    [java] [[email protected]]: Initiating startup sequence... 
    [java] [[email protected]]: Server socket opened successfully in 10 ms. 
    [java] [[email protected]]: Database [index=0, id=0, db=file:/Users/cparaiso/dev/src/testproject-src/data/uPortal, alias=uportal] opened sucessfully in 377 ms. 
    [java] [[email protected]]: Startup sequence completed in 388 ms. 
    [java] [[email protected]]: 2012-03-07 15:32:25.198 HSQLDB server 2.2.8 is online on port 8887 
    [java] [[email protected]]: To close normally, connect and execute SHUTDOWN SQL 
    [java] [[email protected]]: From command line, use [Ctrl]+[C] to abort abruptly 

我的问题是我怎么能不关闭在Ruby中使用kill命令杀掉该进程的服务器?

如果我试图通过kill命令杀死进程,我会得到'BUILD FAILED'并且它会卡住,直到我按下Ctrl + C键。这不是我想要的。有任何想法吗? TIA

回答

1

我不知道如何在Ruby中发出SQL语句,但是如果连接到数据库服务器并发出SQL语句SHUTDOWN,它将关闭服务器进程。