【发布时间】:2015-10-25 12:23:43
【问题描述】:
我想编写一个执行以下命令的脚本:
./virtuoso-t -f -c /home/var/lib/virtuoso/db/virtuoso.ini
它给出了以下输出——在屏幕上出现“1111 在线服务器”之后,我想发出另一个命令 ./isql 1111 dba dba。我不想在屏幕上出现“Server online at 1111”之前发出命令“./isql 1111 dba dba”——命令 ./isql 1111 dba dba 应该根据我的需要在不同的会话(屏幕等)中发出。 /virtuoso-t 在我执行命令时保持在线 - 有什么方法可以实现同样的效果
Mon Aug 03 2015
17:08:49 { Loading plugin 1: Type `plain', file `wikiv' in `/home/jyotil/VirtuosoHugh/virtuosoInstalled/lib/virtuoso/hosting'
17:08:49 FAILED plugin 1: Unable to locate file }
17:08:49 { Loading plugin 2: Type `plain', file `mediawiki' in `/home/jyotil/VirtuosoHugh/virtuosoInstalled/lib/virtuoso/hosting'
17:08:49 FAILED plugin 2: Unable to locate file }
17:08:49 { Loading plugin 3: Type `plain', file `creolewiki' in `/home/jyotil/VirtuosoHugh/virtuosoInstalled/lib/virtuoso/hosting'
17:08:49 FAILED plugin 3: Unable to locate file }
17:08:49 OpenLink Virtuoso Universal Server
17:08:49 Version 07.20.3213-pthreads for Linux as of Apr 10 2015
17:08:49 uses parts of OpenSSL, PCRE, Html Tidy
17:08:59 Database version 3126
17:09:00 SQL Optimizer enabled (max 1000 layouts)
17:09:01 Compiler unit is timed at 0.000687 msec
17:09:38 Roll forward started
17:09:38 Roll forward complete
17:09:52 Checkpoint started
17:09:54 Checkpoint finished, log reused
17:09:57 HTTP/WebDAV server online at 8890
17:09:57 Server online at 1111 (pid 4972)
为此,我在 (myScript.sh) 中编写了以下 shell 脚本:
./virtuoso-t -f -c /home/var/lib/virtuoso/db/virtuoso.ini
./isql 1111 dba dba
但是,./isql 1111 dba dba 似乎在“Server online at 1111”出现在屏幕上之前被执行。 python中是否有某种方式(通过调用python或c ++的命令或使用linux命令可以实现所需的行为?
命令“./virtuoso-t -f -c /home/var/lib/virtuoso/db/virtuoso.ini”没有终止,它保持在线,输出“Server online at 1111”和另一个终端我使用 ./isql 1111 dba dba 对其执行查询
【问题讨论】: