用php怎么调用linux系统下的命令
我不清楚是不是这样的问法。我所要实现的是:例如通过网页来查看我的一个服务器上都有哪些人登录了,这个在服务器上可以用who命令得到,但是怎么用php实现了。再一个例子,比如我要通过网页查询各个用户提交了多少任务,都运行了些什么程序,运行时间多长,这个在机群上都有相应的简单的程序命令查到,我所要做的就是不要登录服务器,大家直接通过web就可以查询得到。 `shutdown` ? "`xxxxx `"应该可以运行shell命令啊 运行命令可以用下面的三个函数。但我没有试过,详细怎么使用就不知道了。
函式:exec()
--------------------------------------------------------------------------------
程式执行功能函式库
exec
执行外部程式。
语法: string exec(string command, string , int );
传回值: 字串
函式种类: 作业系统与环境
内容说明
本函式执行输入 command 的外部程式或外部指令。它的传回字串只是外部程式执行后传回的最后一行;若需要完整的传回字串,可以使用 PassThru() 这个函式。
要是参数 array 存在,command 会将 array 加到参数中执行,若不欲 array 被处理,可以在执行 exec() 之前呼叫 unset()。若是 return_var 跟 array 二个参数都存在,则执行 command 之后的状态会填入 return_var 中。
值得注意的是若需要处理使用者输入的资料,而又要防止使用者耍花招破解系统,则可以使用 EscapeShellCmd()。
函式:system()
--------------------------------------------------------------------------------
程式执行功能函式库
system
执行外部程式并显示输出资料。
语法: string system(string command, int );
传回值: 字串
函式种类: 作业系统与环境
内容说明
本函式就像是 C 语中的函式 system(),用来执行指令,并输出结果。若是 return_var 参数存在,则执行 command 之后的状态会填入 return_var 中。同样值得注意的是若需要处理使用者输入的资料,而又要防止使用者耍花招破解系统,则可以使用 EscapeShellCmd()。若 PHP 以模组式的执行,本函式会在每一行输出后自动更新 Web 伺服器的输出缓冲暂存区。若需要完整的传回字串,且不想经过不必要的其它中间的输出介面,可以使用 PassThru()。
函式:passthru()
--------------------------------------------------------------------------------
程式执行功能函式库
passthru
执行外部程式并不加处理输出资料。
语法: string passthru(string command, int );
传回值: 字串
函式种类: 作业系统与环境
内容说明
本函式类似 Exec() 用来执行 command 指令,并输出结果。若是 return_var 参数存在,则执行 command 之后的状态会填入 return_var 中。若输出的资料是二进位的资料,并且需要输出到浏览器中的话,使用本函式就相当合适了。例如使用 pbmplus 工具来执行指令,并传回二进位的图形资料。可以先设定传回资料的标头 (header) 为 Content-type: image/gif,然后呼叫 pbmplus 程式处理图形资料,并将二进位的图形资料直接传回浏览器。 谢谢提供的思路。
页:
[1]