命令行工具问题
对有关使用命令行工具的各种问题进行故障诊断。
addNode.sh 脚本或 BBOWADDN 作业在节点联合期间失败。
在 Red Hat Linux 机器上启动启用了 DEBUG 的应用程序服务器时,将禁用即时 (JIT) 编译器
- 当配置库包含服务器定义时,startServer.sh 或 stopServer.sh 命令无法启动或停止服务器。
使用 Windows 服务时,没有指示何时已启动服务器。
将一个或多个% 字符用作参数值的一部分
- ADMU0125E: Change the clock of the new node to be within {0} minutes of the clock of the deployment manager联合期间发生错误消息
- stopServer 命令未能停止服务器,因为系统无法对无效主机名创建连接器。
在命令行上输入密码
节点联合期间,addNode.sh 脚本或 BBOWADDN 作业失败。
仅当定制期间在 Deployment Manager 上运行 BBODCFGW 作业时,才会出现此错误。 BBODCFGW 将具有 Web 服务器的非受管节点添加至 Deployment Manager,从而导致基本服务器中的节点联合失败。
要解决此问题,在所有节点联合到单元中之前,请不要在 Deployment Manager 上配置 BBODCFGW 作业。 另外,在所有节点已联合前,请不要在单元中添加任何非受管节点。 可在受管节点上配置 Web 服务器而不会出现任何问题。
在 Red Hat Linux 机器上启用 DEBUG 的情况下,当启动应用程序服务器时,将禁用即时 (JIT) 编译器
在 Red Hat Linux 机器上启用软件开发者工具箱 (SDK) DEBUG 的情况下,当启动应用程序服务器时,将禁用即时 (JIT) 编译器,即使它设置为启用也是如此。 要验证此设置,请检查 SystemOut.log 或 startServer.log 文件。
使用管理控制台可以移除 Java 进程定义的下列 DEBUG 选项。 -Xdebug -Xnoagent
当配置库包含服务器定义时,startServer.sh 或 stopServer.sh 命令未能启动或停止服务器。
startServer.sh webserver1 -nowaitstopServer.sh webserver1 -nowait未指示服务器已在 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 命令。
将一个或多个 % 字符用作参数值的一部分
- 调用某个命令或 .bat 文件(例如 profile_root 目录中的 stopServer.bat),并且该命令或 .bat 文件包含对 installation_root 目录中某个 .bat 文件的调用,以及
- 将一个或多个 % 字符用作参数值的一部分
您必须为参数值中包含的每个 % 字符使用两个 % 字符 (%%) 以防止作为参数值一部分的 % 字符被操作系统使用。
例如,如果您希望将 was%admin 用作 -password 参数值,那么您必须指定以下命令:
wsadmin.bat -username wsadmin -password was%%admin
而不是:
wsadmin.bat -username wsadmin -password was%admin
ADMU0125E: 将新节点的时钟更改为在 Deployment Manager 时钟的 {0} 分钟以内
此问题的变通方法是将节点上的时间调整至 Deployment Manager
的建议范围内。 验证时区是否正确并且该时区内的时间是否正确。 对于 AIX 系统,如果节点系统上的时间在 Deployment Manager 的 5 分钟内,请查看 /etc/environment 文件中的 timezone 设置。 验证 TZ= 属性的设置是否正确。 例如,在中部时区,它应该为
TZ=CST6CDT。 有关更多信息,请参阅 Files Reference Web 站点的环境文件部分。
stopServer 命令未能停止服务器,因为系统无法对无效主机名创建连接器
- 停止操作系统上的服务器进程(例如,在 AIX、HP-UX、Linux 或 Solaris 计算机上,发出 kill 命令)。
或
- 打开 wsadmin 工具,直接连接至服务器的连接器端口并对服务器的 MBean 调用
stop方法。 建议使用此方法,因为它会缓慢关闭正在进行的工作。- 发出以下命令以连接至服务器:
wsadmin -host host_name -port connector_port -conntype [SOAP | RMI ] -user user_ID -password password - 对服务器的 MBean 调用 stop 方法。 例如,在 Jython 中,您可以使用以下命令:
serverMBean = AdminControl.completeObjectName("*,type=Server") AdminControl.invoke(serverMBean, "stop")
- 发出以下命令以连接至服务器:
在命令行上输入密码
对于环境变量的指定和目录注释,存在操作系统差异。 使用 Windows 命令行时,将 $variable 替换为环境变量的 %variable% ,并将目录路径中的每个正斜杠 (/) 替换为反斜杠 (\)。 如果您要在 Windows 系统上使用 bash shell,那么可以使用 UNIX 约定。
在 Unix 类型的操作系统上,通常最好始终将与所有标记关联的字符串值封装在双引号 ("") 中。 如果以下字符出现在字符串值中,那么您还需要使用 "!" 字符对这些字符进行转义: "!" , "" "," ` "。 这将阻止某些命令行 shell 解释这些值中的特定字符。
gsk7capicmd -keydb -create -db "/tmp/key.kdb" -pw "j\!jj" stopserver server1 -username fn_wasadmin -password mypass35 -trace stopserver server1 -username fn_wasadmin -password 'mypass35' -trace - 对于包含单引号或双引号的字符串,请使用其他字符以将字符串括在其中。 例如,如果指定
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。
如果这些步骤都无法修复您的问题,请通过查看可用的联机支持 (提示和技巧,技术说明和修订) 来检查是否已识别并记录该问题。 如果您的问题未列示在此处,请联系 IBM 支持。