我正在尝试创建一个bat或shell脚本,让我检查plink连接是否死掉或变得没有响应,然后终止服务并重新启动。这有可能吗?
我和我的伙伴遇到的问题是,我们似乎不能检查进程在我们身上是否已经死亡,现在我们的解决方案是使用超时。这有点浪费时间,因为连接可能会死掉,无论谁知道它会死多久,或者它可能会被杀死,即使它是完全正常的。
:LOOP
START CMD /C "title connection && plink sap" > data
timeout /t 30
START CMD /C "taskkill /fi "Status eq RUNNING" /fi "WindowTitle eq connection*" /im "cmd.exe && exit"
timeout /t 5
GOTO LOOP发布于 2017-05-25 23:20:21
我们找到了一个部分解决方案,解决了每次循环时必须终止任务的问题。它检查进程是否正在响应,它会被终止,并且每10秒执行一次
START CMD /C "title connectionSAPB1PLINK && plink sap"
:LOOP
timeout /t 10
taskkill /f /fi "STATUS eq NOT RESPONDING" /fi "WindowTitle eq connectionSAPB1PLINK*"
tasklist /fi "WindowTitle eq connectionSAPB1PLINK*" /FO "csv" | find /i "cmd.exe" > nul 2>&1
echo "%errorlevel%"
if "%errorlevel%" == "0" (GOTO LOOP) else (START CMD /C "title connectionSAPB1PLINK && plink sap" && tasklist /v && GOTO LOOP)https://stackoverflow.com/questions/44182310
复制相似问题