MS-DOS 콘솔에서와 다른 응용프로그램에서 .bat 파일 실행시켰을 때 결과가 다릅니다;
글쓴이: qubick / 작성시간: 금, 2010/04/02 - 10:21오전
개발 언어는 php고요,
.bat파일은 응용프로그램이 저장된 경로에 함께 들어가서
$cmd = '파일명.bat';
exec($cmd);
로 실행시켰고,
MS-Dos 콘솔에서도 같은 경로로 들어가서 직접 해당 bat 파일을 실행시켰습니다...
이 배치파일 내용이 또 다른 응용프로그램을 파라메터 목록과 함께 실행,
결과를 ps.out이라는 파일에 기록하는 건데요,
다른 서버에 SSH로 접속해 그 서버가 제대로 동작하는지를 체크합니다.
도스 콘솔에서 파일명.bat를 실행하면 결과파일을 제대로 쓰거든요.
그런데 응용프로그램 내에서 exec()으로 실행하면 결과파일에 아무 내용도 없습니다.
네트워크 상태가 불안정해서 SSH접속이 됐다, 안 됐다 하나 싶어서
콘솔, 응용프로그램 번갈아가며 계속 실행을 해 봐도 마찬가지네요.
접속해서 결과를 읽어오기도 전에 결과파일을 써 버리는 걸까요,
아니면 제 아파치 서버를 한 번 타고 나가서 ssh 접속을 하는데,
이 서버에서 나가는 접속을 허용하지 않는 걸까요?
Forums:
혹시 결과 파일이
혹시 결과 파일이 상대경로로 설정되있지는 않은가요? =.=a
완(전)소(용없는)녀(석
완(전)소(용없는)녀(석)
아니요 그냥 >ps.out 이라고 해서 같은 디렉토리 내에 생성되게 되어 있습니다...
어쨌거나 .bat파일 내용이 똑같은데
콘솔에서 prpt> test.bat
친 결과 파일이랑
응용프로그램 내에서 exec("test.bat") 친 결과랑
다른 파일이 만들어지니 그게 문제지요;
콘솔에서 먼저 한 번 테스트해서 만들어진 결과파일이
응용프로그램 실행시키면 내용이 싸그리 지워지고 껍데기만 남아요..
파일 속성에서 수정시각 보면 응용프로그램 실행시켜서 그렇게 된 건 맞는데.
완(전)소(용없는)녀
댓글 달기