2011-06-27 59 views
-1

我有以下脚本bash脚本在后台一直运行和停止消息

 
#!/bin/bash 
php wes.php & 
sleep 10 
php wes1.php & 
sleep 10 
php wes2.php & 
sleep 10 
php wes3.php & 
sleep 10 
php wes4.php & 
sleep 10 
php wes5.php & 

但是我一直从脚本接收消息,所以我要保持在后台运行的脚本,但也停止警报/由执行产生的消息。

+0

顺便说一句:你什么意思永远?如果您想要在终端会话中生存下来,您应该使用nohup(或提供该功能的类似终端会话,例如屏幕)启动脚本 – flolo

回答

0

输出重定向的话:

php wes.php > somewhere.txt & 
+0

我不想存储输出。 – Michael

0

使用screen

+1

考虑将新用户引导至'tmux'而不是'screen'。它表现得更好,更容易配置,具有屏幕的所有功能以及更多功能,并且项目被主动维护。 – Caleb

+0

可以请您详细说明屏幕方法...我不明白它在bash脚本 – Michael

2

可以输出和错误重定向到/dev/null

​​
+0

中的作用不幸的是,它强制shell脚本连续执行程序作为指定 。 – Michael

+0

@Michael:你的意思是说在运行第二个程序之前它不会睡10秒? [This](http://www.ideone.com/jSdjL)程序打开一个firefox窗口,睡3秒钟,然后打开一个gnome终端。这不是你想要的吗? –

0
for i in '' 1 2 3 4 5 
do 
    php wes$i.php >/dev/null 2>&1 & 
    sleep 10 
done 
1

我想念这里最简单的解决办法:用nohup yourscript.sh &

nohup将确保,有没有处理到终端都开着。