我使用shell脚本来监控WebLogic服务器状态。以下是要监控的脚本行。
java weblogic.Admin -url t3://myhostip:myport -username adminuser -password mypassword GETSTATE
如果失败,这条线路不会返回任何东西并挂起这一点。那么有没有办法设置超时在这个脚本中通过这一行?
答案 0 :(得分:0)
你可以这样做园丁的方式 - 我的意思是它是一种自己动手的风格:) - nohup:
首先将命令放在shell中,然后使用nohup
:
nohup your_command.sh 2>&1 > mylog.out &
然后睡觉你想等待的时间
sleep ${MY_TIME_OUT}
在一段时间后收集进程ID(pid)
x=`ps -eaf|grep your_command.sh|grep -v grep|awk '{print $2}' `
如果x
不包含任何内容,则your_command.sh
成功返回。否则你可以硬杀死它:
if [[ "${x}" != "" ]] ; then echo "killing ${x}"; kill -9 ${x} ; fi
希望有所帮助