使用PHP的proc_open()
,我可以啓動一個過程,從STDOUT
和STDERR
(分別)讀取使用fread()
:當所述工藝運行在時間的字節的任意數,檢測當該過程在STDOUT
和STDERR
管使用feof()
完成,然後使用proc_close()
獲取進程的退出代碼。我已經在PHP中完成了所有這些。它運作良好,並給我很多控制。什麼是PHP的proc_open(),proc_close()等Perl的等價物?
有沒有辦法做到所有這些事情在Perl?總之,我需要能夠做到以下幾點:
- 啓動外部進程
- 閱讀
STDOUT
和STDERR
分別 - 閱讀
STDOUT
和STDERR
字節在任意一個時間數字,而這個過程是運行(即不必等待處理完成) - 檢測何時結束處理
- 獲取進程的退出代碼
在此先感謝您的答案。
我知道我可以做什麼最我想是這樣的: 系統(「命令2>的stderr.txt>標準輸出.TXT &'); ,然後直接讀取文件,而進程正在運行,但我想不出一個簡單的方法,當該過程完成檢測(不涉及解析「PS ......」輸出或東西)或得到它的退出代碼 – jnrbsn 2010-10-03 04:46:17