[AIX Solaris HP-UX Linux Windows][IBM i]

명령행 도구 문제점

명령행 도구 사용에 관련된 다양한 문제점을 해결합니다.

[AIX Solaris HP-UX Linux Windows][IBM i]

Red Hat Linux 시스템에서 DEBUG를 사용하여 애플리케이션 서버를 시작하는 경우 JIT(Just-in-time) 컴파일러 사용 불가능

JIT를 사용 가능하도록 설정한 경우에도 Red Hat Linux® 시스템에서 SDK(Software Developer Kit) DEBUG를 켜고 Application Server를 시작하는 경우 JIT(Just-in-time) 컴파일러를 사용할 수 없습니다. 이 설정을 확인하려면 SystemOut.log 또는 startServer.log 파일을 확인하십시오.

Java 프로세스 정의의 다음 DEBUG 옵션을 제거하려면 관리 콘솔을 사용하십시오. -Xdebug -Xnoagent

참고: 이 주제에서는 하나 이상의 애플리케이션 서버 로그 파일을 참조합니다. 권장되는 대안으로, 분산 및 IBM® i 시스템에서 SystemOut.log , SystemErr.log, trace.logactivity.log 파일을 사용하는 대신 HPEL (High Performance Extensible Logging) 로그 및 추적 인프라를 사용하도록 서버를 구성할 수 있습니다. 원시 z/OS® 로깅 기능과 함께 HPEL을 사용할 수도 있습니다. HPEL을 사용할 경우에는 서버 프로파일 bin 디렉토리에서 LogViewer 명령행 도구를 사용하여 모든 로그 및 추적 정보를 액세스할 수 있습니다. HPEL 사용에 대한 자세한 정보는 HPEL 사용에 대한 정보 를 참조하여 애플리케이션의 문제점을 해결하십시오.
[AIX Solaris HP-UX Linux Windows][IBM i]

서버 정의가 구성 저장소의 일부인 경우 startServer.sh 또는 stopServer.sh 명령이 서버를 시작 또는 중지하는 데 실패함

이 문제점은 startServer.sh 또는 stopServer.sh 명령으로 비Java 프로세스를 시작 또는 중지시키려고 하는 경우에 발생합니다. 이 문제점을 해결하려면 다음과 같이 -nowait 옵션을 사용하여 서버를 시작 또는 중지하십시오.
startServer.sh webserver1 -nowait
stopServer.sh webserver1 -nowait
[Windows][IBM i]

Windows에서 서버가 이미 시작되었다는 표시가 없음

명령행에서 이미 시작된 서버를 시작하려고 해도 해당 서버가 이미 시작되어 실행 중임을 표시하지 않습니다. Windows에서 startManager.bat를 실행하는 경우, 명령이 리턴하기 전에 다음 출력이 표시됩니다.

ADMU7701I: Because dmgr is registered to run as a Windows Service, the request to start this server will be completed by starting the associated Windows Service.

startServer.bat를 실행하는 경우, 명령이 리턴하기 전에 다음 출력이 표시됩니다.

ADMU7701I: Because server1 is registered to run as a Windows Service, the request to start this server will be completed by starting the associated Windows Service.

WASService.exe를 실행하는 경우, 명령이 리턴하기 전에 다음 출력이 표시됩니다.

Starting Service: service name

서버가 시작되었는지 또는 서비스가 실행 중인지 확인하려면 serverStatus server_name 명령 또는 WASService -status service_name 명령을 사용하십시오.

[Windows]

매개변수 값의 일부로 하나 이상의 % 문자 사용

% 문자는 Microsoft Windows 운영 체제에서 사용되는 특수 문자입니다. Microsoft Windows 운영 체제에서 실행 중이고 다음에 해당되는 경우:
  • profile_root 디렉토리에서 명령 또는 .bat 파일 (예: stopServer.bat ) 을 호출하고 명령 또는 .bat 파일에는 installation_root 디렉토리의 .bat 파일에 대한 호출이 포함되어 있습니다.
  • 매개변수 값의 일부로 하나 이상의 % 문자 사용

매개변수 값의 일부인 % 문자가 운영 체제에서 이용되는 것을 막기 위해서 매개변수 값에 포함된 각 % 문자에 대해 두 개의 % 문자(%%)를 사용해야 합니다.

예를 들어, was%admin -password 매개변수의 값으로 사용하려면 다음 명령을 지정해야 합니다.

wsadmin.bat -username wsadmin -password was%%admin

다음 명령은 사용되지 않습니다.

wsadmin.bat -username wsadmin -password was%admin

시스템이 올바르지 않은 호스트 이름에 대한 커넥터를 작성할 수 없어서 stopServer 명령이 서버를 중지하는 데 실패함

시스템에서 유효하지 않은 호스트 이름에 대한 커넥터를 작성할 수 없어 stopServer 명령이 서버를 중지하는 데 실패한 경우 다음 메소드 중 하나를 사용하여 서버를 중지할 수 있습니다.
  • 운영 체제에서 서버 프로세스를 중지시키십시오(예: AIX, HP-UX, Linux 또는 Solaris 컴퓨터에서 kill 명령 실행).

    또는

  • 서버의 커넥터 포트에 직접 wsadmin 도구 연결을 열고 서버의 MBean에 대한 stop 메소드를 호출하십시오. 진행 중인 작업을 안전하게 종료할 수 있으므로 이 메소드를 사용하는 것이 좋습니다.
    1. 다음 명령을 실행하여 서버에 연결하십시오.
      wsadmin -host host_name  -port connector_port  -conntype [SOAP | RMI ] 
      -user user_ID -password password
    2. 서버의 MBean에서 중지 메소드를 호출하십시오. 예를 들어, Jython에서는 다음을 사용할 수 있습니다.
      serverMBean = AdminControl.completeObjectName("*,type=Server")
         AdminControl.invoke(serverMBean, "stop")
[AIX][Windows]

명령행에 비밀번호 입력

환경 변수를 지정할 경우 및 디렉토리 표기법과 관련하여 운영 체제 차이점이 있습니다. Windows 명령행을 사용할 경우 환경 변수와 관련하여 $variable을 %variable%로 대체하고 디렉토리 경로에서 각 슬래시(/)를 백슬래시(\)로 대체하십시오. Windows 시스템에서 Bash 쉘을 사용할 경우 UNIX 규칙을 사용할 수 있습니다.

Unix 유형 운영 체제에서는 일반적으로 모든 태그와 연관된 문자열 값을 항상 큰따옴표 ("") 로 묶는 것이 좋습니다. 또한 문자열 값에 '!', '\', '"', '`' 문자가 표시되는 경우 '\' 문자를 사용하여 이스케이프해야 합니다. 이는 일부 명령행 쉘이 이러한 값 내의 특정 문자를 해석하지 못하게 합니다.

사용법의 몇 가지 예는 다음과 같습니다.
gsk7capicmd -keydb -create -db "/tmp/key.kdb" -pw "j\!jj" 
주: gsk7capicmd 가 값 (예: 암호) 을 입력하도록 프롬프트를 표시하면, 쉘이 더 이상 이 입력에 영향을 주지 않으므로 문자열을 따옴표로 묶고 이스케이프 문자를 추가하지 않아야 합니다.
[Windows]
stopserver server1 -username fn_wasadmin -password mypass35 -trace 
[AIX]
stopserver server1 -username fn_wasadmin -password 'mypass35' -trace 
문제점 방지: 일반적으로 ws_ant.sh 스크립트의 경우 특수 문자를 포함하는 문자열에 작은따옴표를 사용하십시오.
  • 작은따옴표나 큰따옴표가 포함된 문자열의 경우, 다른 문자를 사용하여 문자열을 인용하십시오. 예를 들어, bin/ws_ant.sh -f ant.xml -Dsystem.property='"a quoted String"'를 지정하면 특성이 "a quoted string"로 설정됩니다. 마찬가지로, bin/ws_ant.sh -f ant.xml -Dsystem.peoperty="'a quoted string'"를 지정하면 특성이 'a quoted string'로 설정됩니다.

    동일한 문자열에 작은따옴표와 큰따옴표를 모두 사용할 수는 없습니다.

  • 역따옴표가 포함된 문자열의 경우, 작은따옴표로 문자열을 둘러싸고 백슬래시로 역따옴표를 이스케이프하십시오. 예를 들어, bin/ws_ant.sh -f ant.xml -Dsystem.property='\`a quoted string\`'를 지정하면 특성이 `a quoted string`로 설정됩니다.
  • 백슬래시가 포함된 문자열의 경우, 작은따옴표로 문자열을 둘러싸고 백슬래시로 이스케이프하십시오. 예를 들어, bin/ws_ant.sh -f ant.xml -Dsystem.property='c:\\Program Files\\IBM'를 지정하는 경우입니다. 특성이 c:\Program Files\IBM로 설정됩니다.
  • 달러 표시가 포함된 문자열의 경우, 작은따옴표로 문자열을 둘러싸고 백슬래시로 이스케이프하십시오. 예를 들어, bin/ws_ant.sh -f ant.xml -Dsystem.property='\$3.99'를 지정하면 특성이 $3.99로 설정됩니다.

[AIX Solaris HP-UX Linux Windows][IBM i]이러한 단계로도 문제점을 해결할 수 없는 경우, 사용 가능한 온라인 지원 (힌트와 팁, 기술 노트 및 수정사항) 을 검토하여 문제점을 식별하고 문서화했는지 확인하십시오. 문제점이 나열되지 않은 경우, IBM 지원 센터에 문의하십시오.