perl程序如何调用其他程序而且不等待呢?你可能马上想到fork,但是fork是用来同质的程序多进程的,比如apache的prefork是最典型的例子了。
那么到底该用什么呢?--system命令。
和system命令很像的一个命令是exec,但是exec有个特点,exec之后所有的代码将不再继续执行,也就是说一个perl程序里只能调用一次其他程序,而且还必须放在程序的最后面,这样的限制有点奇怪啊。
所以我们还是只能用system,每次需要调用其他程序的时候就写:
system "perl test.pl";
但是这样还不能做到不等待,perl会等待test.pl执行完毕才继续执行下面的代码,需要不等待应该这样写:
system "perl test.pl&"; #在最后加一个&,就在在bash里执行命令一样,加了&,则该任务将作为后台进程执行,bash里可以继续输入其他命令。
本文来我们的LAMP世界|www.lamp.sh.cn
原文链接:http://www.lamp.sh.cn/html/perl/200810/25-34.html