2011-11-28 3 views
0

Windows XP에서 Perl을 사용하면 시스템 ("start")이 다른 Dos 터미널 창을 엽니 다. "DOS"터미널 처리기를 만드는 방법 그래서 스크립트는 새 창에 데이터를 인쇄 할 수 있습니까? 건배Perl 다중 터미널 응용 프로그램

+1

나는 UI 툴킷 대신 UI 툴킷을 사용하는 것이 좋다고 생각한다. – Quentin

+0

왜 시스템 ("시작")을 사용합니까? 뭐하고 싶어? – Shura

+0

여러 프로세스 (하위)가 여러 터미널과 통신하기를 원합니다. "시작"WinXP에서 새로운 터미널을 생성하는 간단한 방법. k – kestasj

답변

1

은 perl과 제휴되어 있습니까? 아니면 .bat 스크립트로 배치 스크립트를 래핑하고 있습니까? 나는 후자를 가정하고 대답 할 것이다.

새 창에서 스크립트를 실행하려면 system('start script.bat');을 사용할 수 있습니다.

이 문제는 스크립트가 종료 된 후에도 창이 열리면 발생합니다 (`help start을 보면 start가/k 플래그로 cmd.exe를 호출 함을 알 수 있습니다).

창을 닫으려면 cmd.exe에서/c 플래그를 사용하여 perl 스크립트를 명시 적으로 실행해야합니다.

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

이제 보조 스크립트가 시스템의 것과 다시 대화해야하는 경우 로컬 소켓을 조사합니다.

+0

원래 아이디어 (가장 나쁜 것 같습니다!)는 자식을 fork()하고 자식의 I/O를 위해 터미널을 할당하는 것입니다. 케이 – kestasj