2011-11-28 58 views
0

在Windows XP中使用Perl, system(「start」)打開另一個Dos終端窗口。 如何使一個「DOS」終端處理程序, 因此腳本可以將數據打印到該新窗口? 乾杯KESPerl多終端應用程序

+1

我懷疑這樣做可能足夠麻煩,您可能只需使用GUI工具包來替代您的UI。 – Quentin

+0

爲什麼你使用系統(「開始」)?您想做什麼? – Shura

+0

我想讓多個進程(Childs)與多個終端通信。 「開始」只是在WinXP中產生新終端的簡單方法。 k – kestasj

回答

1

*.pl associsated用Perl,或者是你在一個批處理腳本.bat包裹你的Perl腳本?我會回答假設後者。

如果您想在新窗口中運行腳本,您可以system('start script.bat');

問題在於腳本終止後窗口保持打開狀態(如果您看看`help start,您會看到開始使用/ k標誌調用cmd.exe)。

要使窗口關閉,必須在cmd.exe下用/ c標誌明確執行perl腳本。

system('start cmd.exe /c script.bat'); 

現在,如果您的輔助腳本需要與系統交談,我會查看本地套接字。

+0

最初的想法(很可能是壞的!)只是爲了fork()孩子,併爲孩子的I/O分配終端。 ķ – kestasj