Home > php教程 > php手册 > body text

PHP 调用shell命令

WBOY
Release: 2016-06-06 19:52:24
Original
1058 people have browsed it

可以使用的命令: popen fpassthru shell_exec exec system 1.popen resource popen ( string command, string mode ) 打开一个指向进程的管道,该进程由派生给定的 command 命令执行而产生。 返回一个和 fopen() 所返回的相同的文件指针,只不过它是单向的

 

可以使用的命令:

popen
fpassthru
shell_exec
exec
system

 

1.popen

 

resource popen ( string command, string mode )

打开一个指向进程的管道,该进程由派生给定的 command 命令执行而产生。

返回一个和 fopen() 所返回的相同的文件指针,只不过它是单向的(只能用于读或写)并且必须用 pclose() 来关闭。此指针可以用于 fgets()fgetss()fwrite()

如果出错返回 FALSE

 

2.shell_exec

 

string shell_exec ( string cmd )

执行cmd命令,命令的结果存在返回结果中;

本函数在安全模式 下被禁用。

 

3.exec

 

string exec ( string command [, array &output [, int &return_var]] )

 

参数:
command
将要执行的命令

output
如果指定了output参数,则对应的array数组将会填满该命令输出的每一行。

return_var
如果指定了return_var参数,注意,return_var参数只有output参数被设定后才能指定,那么该命令的执行状态将会以结果参数的形式返回给该变量。


返回值:
返回改名了的最后一行结果。


范例
例子 1. An exec() example
[root@south4 demo]# vi test.php
#!/usr/bin/php  -q

exec('ls /etc',$results,$ret);

echo  $results[5] . "/n";
echo  $results[12]. "/n";
echo  $results[3]. "/n";
echo  $ret;
?>

[root@south4 demo]# ./test.php
aliases
audit
adjtime
0

 

4.system

 

string system ( string command [, int &return_var] )

system是开一个bash进程的,执行完毕之后,就会释放,如下就会达不到目的:

system("cd /home/y/share/NBHadoop/scripts");

system("sudo -u yahoo ./nb_halfhourly.sh $yes_halfHour");

可以写成:

system("cd /home/y/share/NBHadoop/scripts;sudo -u yahoo ./nb_halfhourly.sh $yes_halfHour");

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Recommendations
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!