Board logo

标题: [请教]如何查看服务器是否启动? [打印本页]

作者: sunyao     时间: 2006-10-30 22:33    标题: [请教]如何查看服务器是否启动?

我想在服务器查看它是否正常启动
sc query MyServer
if errorlevel 1 (
echo ####  Weblogic起動処理(%_PROG_%) 異常終了  #### >> %LOGFILE%    goto ERROREND
)Sample Text
作者: youxi01     时间: 2006-10-31 01:43
“已知条件”太少了!
作者: 不得不爱     时间: 2006-10-31 02:45
你是想看服务是否正常启动还是服务器是否正常启动?
作者: sunyao     时间: 2006-10-31 04:00
没错,就想看是不是正常启动。
我现在不清楚sc query MyServer能不能准确的知道Weblogic服务器是否正常启动,
用if errorlevel 判断sc query MyServer的返回值。
现在是已经正常启动了还报“Weblogic起動処理異常終了“,证明sc query MyServer有问题,是不是还有别的dos命令能看服务器是否正常启动呀?
作者: vkill     时间: 2006-10-31 04:33
for ...... sc query myserver|find /i "state"
作者: sunyao     时间: 2006-10-31 05:10
好像不行sc query myserver|find /i "state"能解释一下吗
谢谢!!
作者: 不得不爱     时间: 2006-10-31 05:16
那你执行sc query myserver看输出是什么
作者: sunyao     时间: 2006-10-31 05:29
我查了一下sc query命令后面应该是一个服务名
我现在要检查的是服务器的状态我的myserver是服务器名
不是服务名 看看能解决吗
作者: vkill     时间: 2006-10-31 05:48
我现在要检查的是服务器的状态???

汗~~这个关sc 什么事情,ping 就是了
作者: sunyao     时间: 2006-10-31 06:18
我的weblogic装载本机 http://localhost:7001
好像不能ping端口吧
作者: redtek     时间: 2006-10-31 06:40
BEA WebLogic服务器启动以后(你点击运行的已配置好的启动脚本),
不是出现一个(黑色的)Cmd Shell的窗口吗?
这个服务器正在运行的状态CMD SHELL窗口只有你强行关闭或服务器配置不正确等原因才会自动关闭。

也可以 TASKLIST命令来寻找那个正在运行状态的CMD窗口,
这个CMD的窗口的名字应该是 Start Server - 后面是你的BEA所在目录……
(你可以开启后把那个Cmd窗口标题抄下来做为检索之用。

TASKLIST.EXE 的使用详见:   TASKLIST.EXE   /?

) 第二种:(手工操作)

Telnet  LocalHost    7001

服务器运行时开启了7001端口进行监听状态,
Telnet进入后会看到黑屏幕(即Telnet连接成功了,进入了,但没有什么显示信息),
说明这个服务器在开启服务状态。

) 第三种:

VBSCRIPT编一个脚本,判断7001端口是否为开启状态。
或类似原理。
作者: sunyao     时间: 2006-10-31 06:49
现谢谢redtek,我试试
作者: redtek     时间: 2006-10-31 06:51
在命令行上键入如下执令可以查看Weblogic的7001端口是否开启:)
写在批处理里也一样~:)

netstat -na | findstr ":7001 ">nul && echo 服务器正常 || echo 服务器关闭



注: 在 findstr ...中检索字符串":7001 "它的后面是有一个空格的:)
   以防万一有一个700的端口而影响判断准备性:)

[ Last edited by redtek on 2006-10-31 at 09:08 AM ]
作者: sunyao     时间: 2006-10-31 21:43
现在基本解决了 感谢大家
Telnet  LocalHost    7001好像不行
它与netstat -na | findstr ":7001 ">nul 有什么区别吗
作者: redtek     时间: 2006-10-31 22:59
Telnet本来是远程登录用的一个工具,
但它可以连接无论是远程还是本地的一台主机的任何一个由你指定的端口(TCP/IP),
只要是这个端口处在服务监听的过程中,
用它就可以登录(不是成功登录,是可以看到登录连接的状态)。

开发服务器软件或做调试的时候,有时候不知道服务器(如80端口或自己的监听程序是否正常工作——监听某个端口),
那么最省事的办法就是用Telnet登录一下看看就知道了。

(只不过Telnet不太适合自动化的脚本工作上测试,临时手工测试某个端口是否开启了很方便)

(如果经常开发如数据库方面的东东,但有时候程序就是不能连接到数据库服务器)
(这时候就可以使用Telnet来登录SQL服务器的端口看看状态,也就几秒钟的时间就可以简判定一般情况下是服务器还是代码的问题等)


netstat -na | findstr ":7001 ">nul (如果你不加>nul定向,那么乱八七Zao的检索信息全出来了:)

[ Last edited by redtek on 2006-10-31 at 11:05 PM ]
作者: sunyao     时间: 2006-11-1 01:57
又有一问
if errorlevel是取上一条命令的返回值
netstat -na | findstr ":7001 ">nul 的返回值是什么
是找到":7001 "为0没找到为1吗
这涉及if errorlevel后是1还是0的问题
作者: 不得不爱     时间: 2006-11-1 02:05
是找到":7001 "为0没找到为1
作者: sunyao     时间: 2006-11-1 02:45
我的服务器启动信息在屏幕上显示一半就不显示了
有办法吗
作者: redtek     时间: 2006-11-1 03:46


  Quote:
Originally posted by sunyao at 2006-11-1 02:45:
我的服务器启动信息在屏幕上显示一半就不显示了
有办法吗

那可能是你的服务器配置问题,帮不了你~:)
你可以重新配置一下或对照一下书上或网上关于Weblogic服务器不能正常启动问题。
作者: sunyao     时间: 2006-11-1 03:57
能正常启动就是不显示信息