시스템정보 확인 오류
- 작성자 :
- 정*욱
- 작성일 :
- 2011-09-14 18:46:45
- 조회수 :
- 2,209
- 구분 :
- 공통컴포넌트
- 진행상태 :
- 완료
Q
http://www.egovframe.org/wiki/doku.php?id=egovframework:%EC%8B%9C%EC%8A%A4%ED%85%9C%EC%A0%95%EB%B3%B4%ED%99%95%EC%9D%B8
"시스템정보 확인" 부문 오류확인바랍니다.
호스트명확인 외에.. 모두 정보를 읽지 못합니다.
시스템은 LINUX환경이며.. 프로퍼티 파일들수정했고..sh쉘파일의 권한도 주엇습니다. 아래 1번빼고.. 에러는 발생하지 않았습니다.
1. EgovSysInfo.getProcessId()
Null Point 에러가 나며.. getProcInfo.sh가 없고... UNIX부문 주석처리가 되어있네요..
2. getMoryUsedCpcty()의경우
getMoryInfo.sh 의
vmstat | tail -1 | awk '{print $3*4096/1024/1024}'
콘솔상에 찍어보면 수치가 나오는데..
EgovSysInfo.java 654line에..
String str = b_out.readLine();
if (str == null) break;
여기서 str의 값이 null이어서 0.0 값이 리턴되네요..
나머지도 같은현상입니다.
바쁘시겠지만 답변 부탁드립니다.
"시스템정보 확인" 부문 오류확인바랍니다.
호스트명확인 외에.. 모두 정보를 읽지 못합니다.
시스템은 LINUX환경이며.. 프로퍼티 파일들수정했고..sh쉘파일의 권한도 주엇습니다. 아래 1번빼고.. 에러는 발생하지 않았습니다.
1. EgovSysInfo.getProcessId()
Null Point 에러가 나며.. getProcInfo.sh가 없고... UNIX부문 주석처리가 되어있네요..
2. getMoryUsedCpcty()의경우
getMoryInfo.sh 의
vmstat | tail -1 | awk '{print $3*4096/1024/1024}'
콘솔상에 찍어보면 수치가 나오는데..
EgovSysInfo.java 654line에..
String str = b_out.readLine();
if (str == null) break;
여기서 str의 값이 null이어서 0.0 값이 리턴되네요..
나머지도 같은현상입니다.
바쁘시겠지만 답변 부탁드립니다.
A
안녕하세요.. 정정욱님..
우선.. getProcInfo.sh는 다음과 같은 명령을 포함하는 파일을 만들어 놓으시면 될 것 같습니다.
ps -eo "%p %G %U %c %a" | awk -F" " '{print $1,$2,$3,$4,$5}'
나머지 부분은 다음과 같이 확인해 보시면 될 것 같습니다.
EgovSysInfo.java의 executeProgram 메소드 부분에서..
에러 발생된 부분은 가져오는 부분이 있습니다.
//프로세스 에러시 종료
if (p.exitValue() != 0) {
b_err = new BufferedReader (new InputStreamReader(p.getErrorStream()));
while (b_err.ready()) {
String line = b_err.readLine();
//if (line.length() <= MAX_STR_LEN) log.debug("ERR\n" + line);
}
b_err.close();
}
이 부분에서 line 을 System.out 등으로 출력해 보시면 shell script 실행 시에 발생된 오류를 확인하실 수 있습니다.
실행 스크립트의 PATH 문제 등이 발생되었을 것으로 판단되면..
적절히 shell 스크립트 들을 수정해 주시면 될 것 같습니다.
일부 스크립트 파일들은.. OS 또는 관련 솔류션의 설치 디렉토리 변경 등의 수정이 필요합니다.
그럼.. 즐거운 하루되십시오.
감사합니다.
우선.. getProcInfo.sh는 다음과 같은 명령을 포함하는 파일을 만들어 놓으시면 될 것 같습니다.
ps -eo "%p %G %U %c %a" | awk -F" " '{print $1,$2,$3,$4,$5}'
나머지 부분은 다음과 같이 확인해 보시면 될 것 같습니다.
EgovSysInfo.java의 executeProgram 메소드 부분에서..
에러 발생된 부분은 가져오는 부분이 있습니다.
//프로세스 에러시 종료
if (p.exitValue() != 0) {
b_err = new BufferedReader (new InputStreamReader(p.getErrorStream()));
while (b_err.ready()) {
String line = b_err.readLine();
//if (line.length() <= MAX_STR_LEN) log.debug("ERR\n" + line);
}
b_err.close();
}
이 부분에서 line 을 System.out 등으로 출력해 보시면 shell script 실행 시에 발생된 오류를 확인하실 수 있습니다.
실행 스크립트의 PATH 문제 등이 발생되었을 것으로 판단되면..
적절히 shell 스크립트 들을 수정해 주시면 될 것 같습니다.
일부 스크립트 파일들은.. OS 또는 관련 솔류션의 설치 디렉토리 변경 등의 수정이 필요합니다.
그럼.. 즐거운 하루되십시오.
감사합니다.