스크립트를 실행하면 다음 오류가 발생합니다.
Ksh: 1행: jrcmd: 찾을 수 없음
weblogic 서버에서 동일한 명령을 실행하면 출력이 나오지만 스크립트 내에서 동일한 명령을 실행하면 오류 메시지가 나타납니다.
스크립트는 다음과 같습니다.
#!/bin/ksh
process_id=`ssh -q account@servername -n "pa -ef |grep weblogic|great -v "grep""|awk '{print $2}'
ssh -q account@servername -n "jrcmd $process_id print_threads > /tmp/thread.txt"
어떤 답변이라도 기대할 수 있나요?
답변1
jrcmd
스크립트 내에서 호출 하는 경우 실행 파일의 전체 경로를 제공해야 jrcmd
하지만 스크립트 내에서는 그렇지 않습니다.
Weblogic에서 코드가 실행되는 이유는 경로가 jrcdm
식별되었기 때문입니다 $JROCKIT_HOME/bin/jrcmd
. 터미널에서 스크립트를 실행할 때 jrcdm
전체 경로를 제공해야 합니다.
터미널을 열고 환경을 설정합니다. 예를 들면 다음과 같습니다.
setenv JROCKIT_HOME weblogic/bin/ #replace weblogic/bin/ by the correct path to jrcdm.
그런 다음 다음과 같은 스크립트를 실행합니다.
#!/bin/ksh
process_id=`ssh -q account@servername -n "pa -ef |grep weblogic|great -v "grep""|awk '{print $2}'
ssh -q account@servername -n "$JROCKIT_HOME/jrcmd $process_id print_threads > /tmp/thread.txt"