有關exec()在linux上的使用 - Linux

Table of Contents

這有一個程式是用python寫的

然後我現在要用php用system call的方式

把這個程式的output出來成為一個xml的格式

<?

$now=date("Y-m-d-h-i");

$newfile=fopen("/home/wei/outputs/".$now.".txt",'w+')

//建立一個可寫的檔案然後是空白的

exec("cd /home/wei/app");
exec("/home/wei/app/app.py 參數 >/home/wei/outputs/".$now.".txt");
//把她輸出的結果輸到該txt檔


可是就很奇怪不能work


但如果我沒丟變數的話

就有辦法寫進去那個檔案裏面

有人知道為什麼嗎?有點不知道在這裡問恰不恰當拜託大家了


--

All Comments

Franklin avatarFranklin2011-02-03
/home/wei/outputs/ 的權限勒????
Daniel avatarDaniel2011-02-07
有我有把它 chmod -R 777
Skylar Davis avatarSkylar Davis2011-02-09
exec("/usr/bin/python /home/wei ..... ); 這樣行嗎
Franklin avatarFranklin2011-02-13
你把第一行 exec 註解掉看看... 雖然我跟 python 不太熟
Caitlin avatarCaitlin2011-02-17
但是如果是一隻 C 的程式 在呼叫第一次 exec 之後會把自
Thomas avatarThomas2011-02-21
己在記憶體內的空間全部換掉 換成 exec 內的那支程式...
Quintina avatarQuintina2011-02-22
所以除非玩 fork 讓分身的子行程去被替換掉 不然 exec 之
Agatha avatarAgatha2011-02-25
後的程式碼有可能都沒被跑到... 你試著在兩行 exec 中間
插行簡單的除錯訊息 再去跑 看看是不是我說的狀態...
Cara avatarCara2011-02-25
當我沒說... 應該是有跑到第二個 exec 只是給變數的時候
不正常(?) 是指說 ".$now." 這邊嗎...
Lily avatarLily2011-02-26
看他的描述應該是「參數」那邊一加上去就會不正常
Andrew avatarAndrew2011-03-01
是now那邊好像有點問題 後來我把兩個指令寫成一個.sh
就可以了:)
Anonymous avatarAnonymous2011-03-04
use popen()