有個這類?QProcess?
我們提供的服務(wù)有:成都做網(wǎng)站、網(wǎng)站建設(shè)、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、寬甸ssl等。為成百上千家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的寬甸網(wǎng)站制作公司
QProcess?p(0);
QString?command?=?"";
QStringList?args;
QString?strTemp?=?"";
QStringList?tmpList;
/**
*?調(diào)用?hostname?命令?獲取機(jī)器名
================================================================?*/
QString?hostname?=?"";
command?=?"hostname";
args.clear();
p.start(?command,args?);
p.waitForFinished();
strTemp?=?QString::fromLocal8Bit(?p.readAllStandardOutput()?);
hostname?=?strTemp.replace(?"\n","").trimmed();
qDebug()"hostname:"?hostname;
在Windows上搭建一個qt的開發(fā)環(huán)境,將你在linux下面寫的代碼拿來從新編譯,一般來說不需要修改就可以通過,注意的是:linux和windows上的qt版本要一致
QString program = "./path/to/Qt/examples/widgets/analogclock";
QStringList arguments;
arguments "-style" "motif";
QProcess *myProcess = new QProcess(parent);
myProcess-start(program, arguments);
在php教程中調(diào)用linux命令的函數(shù)是 string exec(string command, string [array], int [return_var]); 如exec( "vpopmail ");echo exec('whoami');再看一實例 function exec_enabled() {$disabled = explode(', ', ini_get('disable_functions'));return !in_array('exec', $disabled); } ?php $tmp = exec("c:\Image\gm.exe convert c:\Image\file1.tiff c:\Image\file1.jpg", $results); ? 還有一種命令是php通過函數(shù)system()調(diào)用系統(tǒng)命令。 string system ( string $command [, int $return_var ] ) 實例 system('asterisk -vvvvvvvvvvvc'); system()是一樣的函數(shù)C的,它執(zhí)行給定的命令和輸出結(jié)果的版本。該system()的調(diào)用也嘗試自動刷新網(wǎng)頁服務(wù)器的輸出緩沖器在每個輸出 行如果PHP運行作為服務(wù)器模塊。如果你需要執(zhí)行一個命令,并已全部通過直接從背面沒有任何干擾的命令數(shù)據(jù),使用passthru()函數(shù)。 $last_line = system('ls', $retval);function my_exec($cmd, $input='') {$proc=proc_open($cmd, array(0=array('pipe', 'r'), 1=array('pipe', 'w'), 2=array('pipe', 'w')), $pipes); fwrite($pipes[0], $input);fclose($pipes[0]); $stdout=stream_get_contents($pipes[1]);fclose($pipes[1]); $stderr=stream_get_contents($pipes[2]);fclose($pipes[2]); $rtn=proc_close($proc); return array('stdout'=$stdout, 'stderr'=$stderr, 'return'=$rtn ); } var_export(my_exec('echo -e $(/dev/stdin) wc -l', 'h\nel\nlo')); 實例三 $cmd = "date";$output = system($cmd); printf("System Output: $output ");exec($cmd, $results); printf("Exec Output: {$results[0]} ");php調(diào)用linux命令的權(quán)限問題你可以使用定時任務(wù)執(zhí)行你要調(diào)用的php,這時的權(quán)限就是root, php通過函數(shù)system()調(diào)用系統(tǒng)命令php一般是以apache用戶身份去執(zhí)行的,把apache加入到存儲你文件的父文件夾屬組里去,然后改該父文件夾權(quán)限為775,這樣屬組成員就有寫的 權(quán)限,而apache屬于這個組就可以改寫該目錄下所有文件的權(quán)限,當(dāng)然,屬組最好不要是root,你可以為該文件夾改個其它普通用戶組。改apache/php的運行用戶方法不安全