从我的 python 脚本中,我需要多次停止和启动 Weblogic 服务器。
如果我们需要在 linux 中手动执行(停止或启动服务器)
我去 mwhome+"/user_projects/domains/bifoundation_domain/bin 并执行命令
./stopWeblogic.sh
并且要在终端中启动服务器,我执行命令
./startWeblogic.sh
我需要在我的 python 代码中复制它。
wlserverstop=mwhome+"/user_projects/domains/bifoundation_domain/bin/stopWebLogic.sh"
output3 = subprocess.call([ wlserverstop ])
#starting weblogic server
wlserver=mwhome+"/user_projects/domains/bifoundation_domain/bin/startWebLogic.sh"
output4 = subprocess.Popen([ wlserver],stderr=STDOUT, stdout=PIPE)
time.sleep(200)
1) 由于 stopWeblogic 服务器将终止并返回,我使用了 subprocess.call() 2) 由于 startWeblogic 服务器不会终止并且需要在后台运行进程,所以我使用了 subprocess.Popen()
但问题是服务器的停止和启动没有正确发生。有时它不会启动,有时即使服务器在我立即发出 stopserver 命令时启动,它也会永远运行。
有更好的方法吗?谢谢