PHP中exec與system用法區別分析

2022-10-06 06:03:10 字數 716 閱讀 3266

一般來說,在php中呼叫外部命令,可以用exec及system來實現:

system()

原型:string system (string command [, int return_var])

system()函式很其它語言中的差不多,它執行給定的命令,輸出和返回結果。第二個引數是可選的,用來得到命令執行後的狀態碼。

返回結果:

成功返回0,  

失敗(命令不存在等原因)   返回   非0值

exec()

原型:string exec (string command [, string array [, i return_var]])

exec ()函式與system()類似,也執行給定的命令,但不輸出結果,而是返回結果的最後一行。雖然它只jqnrd返回命令結果的最後一行,但用第二個引數array 可以得到完整的結果,方法是把結果逐行追加程式設計客棧到array的結尾處。所以如果array不是空的,在呼叫之前最好用unset()最它清掉。只有指定了第二 個引數時,才可以用第三個引數,用來取得命令執行的狀態碼。

使用例www.cppcns.com子如下:

exec("/bin/ls -l");

exec("/bin/ls -l", $res);

exec("/bin/ls -l",程式設計客棧 $res, $rc);

本文標題: php中exec與system用法區別分析

本文位址:

exec 與system 的區別

這應該算是老生長談的問題了,在此做乙個記錄。執行exec 後,老的程序上下文將被exec出來的新的程序上下文覆蓋,新程序代替原程序執行。執行system 後則相當於fork 出乙個子程序,並等待此子程序執行完畢。請看如下程式以加深理解。rt.c int main gcc rt.c o rt test...

exec 與system 的區別

這應該算是老生長談的問題了,在此做乙個記錄。執行exec 後,老的程序上下文將被exec出來的新的程序上下文覆蓋,新程序代替原程序執行。執行system 後則相當於fork 出乙個子程序,並等待此子程序執行完畢。請看如下程式以加深理解。cpp view plain copy rt.c intmain...

exec 與system 的區別

這應該算是老生長談的問題了,在此做乙個記錄。執行exec 後,老的程序上下文將被exec出來的新的程序上下文覆蓋,新程序代替原程序執行。執行system 後則相當於fork 出乙個子程序,並等待此子程序執行完畢。請看如下程式以加深理解。cpp view plain copy print?rt.c i...