不要等待某个命令结束执行;

时间:2012-03-22 10:55:30

标签: bash shell

我有一个小脚本来运行搜索守护程序,例如: run.sh

cd ~/apache-solr
xterm -e java -jar start.jar
sleep 5
cd ~/anotherFolder
#make something else

问题:
- 在xterm -e ...命令之后,脚本等待命令完成以运行另一个命令;

问题:
我们可以在不等待xterm -e ...命令执行结束的情况下运行下一个命令吗?

P.S。
对不起我的英文,感谢您的帮助。

5 个答案:

答案 0 :(得分:2)

甚至可以更好地使用nohup

像:

nohup xterm -e java -jar start.jar &

即使你关闭了你的putty会话,nohup你的命令也不会收到killsig。

答案 1 :(得分:1)

是的,你可以在你想要在后台运行的行之后加&;这将允许您的脚本在命令运行时继续;

xterm -e java -jar start.jar &

一个例子;

date
sleep 5
date

> Thu Mar 22 11:57:17 CET 2012
> Thu Mar 22 11:57:22 CET 2012

date
sleep 5 &
date

> Thu Mar 22 11:57:25 CET 2012
> Thu Mar 22 11:57:25 CET 2012

答案 2 :(得分:1)

是把&放在命令的末尾,这将启动新的执行线程

答案 3 :(得分:1)

命令末尾的&符号将在后台启动命令,让脚本继续下一行。

 xterm -e java -jar start.jar & 

答案 4 :(得分:1)

怎么样

xterm -e java -jar start.jar &

注意结尾&告诉shell在后台运行该进程。

如果您需要在脚本中获得结果,那么如何知道该命令何时完成是另一个问题。