作者 主題: 關於EXEC的使用後遺症問題!  (閱讀 4456 次)

0 會員 與 1 訪客 正在閱讀本文。

simon4738

  • 可愛的小學生
  • *
  • 文章數: 18
    • 檢視個人資料
關於EXEC的使用後遺症問題!
« 於: 2007-10-26 13:38 »
我今天用這個EXEC函數去呼叫一個檔案

因為這檔案是要在DOS底下執行的,

所以呼叫這檔案時候他會開啟一個CMD.EXE的常駐程式...

每按一次就會開啟一次CMD.EXE常駐程式...

所以我用了一個批次檔
----------
CD\
taskkill.exe /f /im cmd.exe
---------
然後再用exec呼叫這個批次檔來關閉cmd.exe...
可是還不能關閉爾且執行這個批次檔時候還是會再度增加cmd.exe常駐程式...
有任何辦法可以做到把已死在記憶體裡面的cmd.exe給關閉嗎?
謝謝

Yamaka

  • 俺是博士!
  • *****
  • 文章數: 4913
    • 檢視個人資料
    • http://www.ecmagic.com
關於EXEC的使用後遺症問題!
« 回覆 #1 於: 2007-10-26 13:56 »
只是想而已, 我沒實做過...


將那個 DOS 程式寫在批次檔裡,

並在批次檔的最後一行加個 exit 試試..

simon4738

  • 可愛的小學生
  • *
  • 文章數: 18
    • 檢視個人資料
關於EXEC的使用後遺症問題!
« 回覆 #2 於: 2007-10-26 14:22 »
引述: "yamaka"
只是想而已, 我沒實做過...


將那個 DOS 程式寫在批次檔裡,

並在批次檔的最後一行加個 exit 試試..


我有嚐試過這樣
可是用批次檔執行那個檔案時候最後要按下"q"或者是"enter"還才可以來開這個程式,用批次檔要如何寫入這2個動作

hikohan

  • 俺是博士!
  • *****
  • 文章數: 1288
    • 檢視個人資料
crons demon
« 回覆 #3 於: 2007-10-26 15:47 »
SRC: http://cronw.sourceforge.net/

*/5 * * * * taskkill.exe /f /im cmd.exe

PHP可以事先準備一個touch,當batch認定touched需要砍task才刪除。
lifeIsFunWithPHP.

fillano

  • 鑽研的研究生
  • *****
  • 文章數: 526
    • 檢視個人資料
關於EXEC的使用後遺症問題!
« 回覆 #4 於: 2007-10-26 16:38 »
cmd.exe /? 看看,有說明啦。

代碼: [選擇]
cmd /C cscript

試試看。
Sapere aude! Habe Mut, dich deines eigenen Verstandes zu bedienen! ist also der Wahlspruch der Aufklärung.

simon4738

  • 可愛的小學生
  • *
  • 文章數: 18
    • 檢視個人資料
關於EXEC的使用後遺症問題!
« 回覆 #5 於: 2007-10-27 18:59 »
引述: "fillano"
cmd.exe /? 看看,有說明啦。

代碼: [選擇]
cmd /C cscript

試試看。


用過了...依然還是不能="=
謝謝^^

fillano

  • 鑽研的研究生
  • *****
  • 文章數: 526
    • 檢視個人資料
關於EXEC的使用後遺症問題!
« 回覆 #6 於: 2007-10-29 19:44 »
你是直接透過cmd來執行這隻程式的嗎?沒有透過任何批次檔?
Sapere aude! Habe Mut, dich deines eigenen Verstandes zu bedienen! ist also der Wahlspruch der Aufklärung.

simon4738

  • 可愛的小學生
  • *
  • 文章數: 18
    • 檢視個人資料
關於EXEC的使用後遺症問題!
« 回覆 #7 於: 2007-10-29 23:31 »
我是直接把CMD的命令寫成批次檔...
然後用批次檔來呼叫這隻程式...

fillano

  • 鑽研的研究生
  • *****
  • 文章數: 526
    • 檢視個人資料
關於EXEC的使用後遺症問題!
« 回覆 #8 於: 2007-10-30 00:16 »
你是直接呼叫檔案,還是用cmd /C 檔案,這樣呼叫?

把你呼叫過程貼出來吧,這樣比較清楚。
Sapere aude! Habe Mut, dich deines eigenen Verstandes zu bedienen! ist also der Wahlspruch der Aufklärung.

梁楓

  • 俺是博士!
  • *****
  • 文章數: 6220
    • 檢視個人資料
關於EXEC的使用後遺症問題!
« 回覆 #9 於: 2007-10-30 11:12 »
你的q 或 enter 是不是你的 bat 裡自己寫了要q or enter??

1. taskkill 這隻程式並沒有要用q or enter 才能退出的需求
2. php 本身也沒有要q or enter 才能退出的需求

疑問?
你是在批次檔裡在次呼叫php?


a.php
--
<? exec('a.bat') ?>
--
a.bat
--
cd \
taskkill.exe /im cmd.exe
--

開始->執行->c:\appserv\php5\php.exe c:\a.php
執行後,cmd.exe 視窗自動關閉後,自己的視窗也關閉了

或許你該看的是你的程式
我一直不喜歡這樣子講
你要嘛就把程式碼弄出來給大家看
要嘛就把你的整個流程最出來
不要讓人求神之後來答你

這樣子對答的人,對回的人,都沒有好處