2012-05-03 2 views
0

, 나는 원격 사용자로 7-ZIP을 실행하고 네트워크 공유에 파일을 추출 할 수 있습니다 :다른 명령 줄 응용 프로그램이 절대 응답하지 실행 명령 줄 응용 프로그램을 시작

C:\PsExec.exe -u username -p password "C:\7z.exe" x -y -o\\network\extractedfiles\ C:\compressed.zip toextract.txt 

나는이 응용 프로그램이 실행되는 것과 똑같이 생성 된 라인을 실행 중입니다. 온라인에 게시 할 수 있도록 디렉토리, 경로, 사용자 이름 및 암호가 변경되었습니다. 사실, 응용 프로그램의 로그에서 해당 행이 복사되었습니다.

하지만 다음과 같은 코드를 사용하여 Java에서이 명령을 실행하면 아무 이유없이 영원히 기다리고 있습니다. "\ network \ extractedfiles \"경로에 파일이 표시되지 않습니다.

final Process copyFile = Runtime.getRuntime().exec(cmd); 
final int exit = copyFile.waitFor(); 

여기서 cmd는 위의 문자열입니다. 어떤 아이디어?

추가 정보 1 :

나는이이 명령 줄에서 실행할 때 내가 발견 말을 의미

, psexec에 별도의 명령 창에서 Z-우편을 시작합니다. 문제는 zip의 출력이 처리되지 않는 것일 수 있습니까? 입력 스트림을 닫으려고했는데 문제가 해결되지 않았습니다.

추가 정보 2 :

INFO 2012-05-03 15:07:55,188 - Command output: PsExec v1.98 - Execute processes remotely 
INFO 2012-05-03 15:07:55,188 - Command output: Copyright (C) 2001-2010 Mark Russinovich 
INFO 2012-05-03 15:07:55,188 - Command output: Sysinternals - www.sysinternals.com 
INFO 2012-05-03 15:07:55,188 - Command output: 

그럼 영원히 앉아 : 나는 여기에 명령의 출력을 로그 아웃 시도하고,

은 내가 가진 것입니다. 명령 줄에서 실행할 때 출력의 다음 줄은 다음과 같습니다.

C:\7z.exe exited with error code 0. 

그래서 7-zip이 걸려있는 것 같습니다. 그것은 심지어 파일을 추출 시작하지 않습니다 - 내가 파일을 아무것도 추출 것으로 예상되는 디렉토리를 확인하면 나타납니다.

추가 정보 3 :

은 내가 ionic.zip.dll를 사용하여 .NET에서 내 자신의 unzipper를 만들었습니다. 내 unzipper 정말 간단했다 - 허용 params 커맨드 라인을 통해, 어떤 출력이 없었어요. 그러나 여전히 똑같은 일을했습니다. 압축 풀기가 시작되지 않고 실행이 중단됩니다. 어쩌면 psexec가 이상한 일을하고 있을까요 ??? psexec이 외부 명령 콘솔에서 unzipper를 실행하려고한다는 사실은 Java에서 문제를 일으 킵니까?

+0

프로세스의 출력 스트림을 읽어야합니다. 그렇지 않으면 영원히 중단됩니다. 이렇게하는 방법을 설명하는 몇 가지 질문이 있습니다. –

+0

@EricPetroelje close라는 inputstream, outputstream 및 errorstream 객체에 함수가 있습니다. 스트림을 "닫는"것으로 충분합니까? 나는 이것을 시도했지만 문제를 해결하지 못했다. 내 질문에 개정을 참조하십시오. – JSideris

+0

@EricPetroelje 응용 프로그램의 출력을 읽는 것이 도움이되지 않았습니다. "추가 정보 2"를 참조하십시오. – JSideris

답변

0

아마 당신은 그냥 업데이트와 확인

+0

출력을 읽고 오류가 없습니다. 그냥 달려있다. 내 질문에 몇 가지 추가 정보를 추가했습니다. – JSideris

0

에 대해 알고 프로세스의 흐름을 읽어야 오류가 발생했습니다; 내 자신의 unzipper, psexec 및 C# .net을 사용하여 내 자신의 명령 줄 래퍼를 만들려고했는데 (전체 응용 프로그램을 다시 만들 필요가 없었습니다.) 사용자 지정 응용 프로그램에도 출력이 없으며 실행중인 명령이 작동했습니다. 외국 사용자로 실행되는 cmd 창에서 매번 그러나 Java에서 한 번 작동 한 다음 unzipper가 두 번째로 멈 췄고 다시 작동하지 않았습니다. 바이러스 백신 또는 방화벽 문제 인 것 같습니다. 불행히도 지금은 내 손에서 벗어났습니다. 여기의 IT 부서에서 현재이 프로그램을 실행하는 데 도움을주고 있으며, 나는 그들로부터 응답을 기다리고 있습니다.

관련 문제