linux下exec函数不返回结果

发布网友 发布时间:2022-04-20 18:08

我来回答

2个回答

热心网友 时间:2023-07-28 02:11

yes you are right , exec 是不返回的,它将当前进程的内容替换成要执行的程序的内容,这样就可以运行一个新的程序了。如果exec 返回了说明执行新程序出错了,内存不够啊,系统异常啊。。追问不是吧,在wamp集成环境下执行exec能得到他的返回结果,
这个是有人验证过的。

追答我说的是系统调用,你这说提shell 里的,还是其它语言里面的

热心网友 时间:2023-07-28 02:11

不知道你这里的exec是不是php里面的还是系统bash内置的。
如果是php的
这是语法
string exec ( string $command [, array &$output [, int &$return_var ]] )
command

The command that will be executed.
output

If the output argument is present, then the specified array will be filled with every line of output from the command. Trailing whitespace, such as \n, is not included in this array. Note that if the array already contains some elements, exec() will append to the end of the array. If you do not want the function to append elements, call unset() on the array before passing it to exec().
return_var

If the return_var argument is present along with the output argument, then the return status of the executed command will be written to this variable.

Return Values

The last line from the result of the command. If you need to execute a command and have all the data from the command passed directly back without any interference, use the passthru() function.

To get the output of the executed command, be sure to set and use the output parameter.
意思就是说输出和返回 都是可选参数,你要指定了才有!!
具体的你查看一下php手册,一贴网址就不显示了追问手册我查了,后面两个参数不论是指定还是直接把写成$a=exec(....);的行使,都没有内容输出,而且最后的参数表示命令的执行情况,我这的返回值是127,表示什么意思,我不是很清楚。

追答我个人觉得都看不懂你的代码?你写成这样试试,我认为你的command有问题才会得到127

声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com