2016-12-19 3 views
0

я получил процесс, который застревает, если не нашли свою цель так я называю пакетный файл, чтобы убить его через некоторое времяTaskkill пакетный файл, который убивает задачу

start C:\file\server\bin\killput.bat 
C:\file\server\bin\putty.exe -ssh 192.168.0.210 -l oracle -pw oracle -m C:\file\server\bin\List_AIX.txt 

дело в том, как убить ЦМД выполнив команду убить, если мой процесс запускается на выполнение

кода для моего killput.bat пакетного файла

Timeout 20 
taskkill /f /im putty.exe 
+0

Так в основном вы хотите проверить Wheter шпатлевка runns правильно или нет, не так ли? И если вы видите, что он застрял, вы хотите убить пакетный файл, который иначе убил бы процесс замазки? Я бы предложил: Запустите putty из ** командной строки **, как и в случае с вашим первым пакетным файлом (-> только в нижней строке). Если шпатлевка действует правильно и выполняется все, что она делает, наберите 'echo% ERRORLEVEL %' и нажмите [Enter]. Если значение отличается от 0, я думаю, что могу помочь. Это будет мой путь, хотя ... – geisterfurz007

ответ

0

я проверил с моей замазкой и в случае отказа не будет поддерживать какую-либо связь, так что вы просто не увидите это на "netstat ", и если вы не найдете его в этом выводе, это означает, что соединение либо завершилось неудачно, либо просто завершено. Таким образом, я понял, что вы могли бы сделать что-то подобное на вашем глушения партии:

timeout 20 

SET tempfl=c:\windows\temp\netstatresult.txt 
netstat -aonb>%tempfl% 

for /f "delims=" %i in ('findstr /i /C:putty %tempfl%') do SET output=%i 
if NOT DEFINED %output% taskkill /f /im putty.exe 

del %tempfl% 

Так что пишет вывод NETSTAT на временный файл, после этого мы проверяем, если на выходе ввода команды содержит подстроку замазку, используя findstr. Если findstr имеет какие-либо результаты переменная выход задан со значением, иначе он не будет определен, поэтому, если есть значение, это означает, что замазка работает успешно, и вам не нужно ее убивать, и если разве вы не можете убить процесс замазки.

После этого существует простое, если выполняется taskkill, если переменная не определена, а затем созданный файл temp удален.

Только убедившись, что если вы не знаете, что NetStat используется для: https://commandwindows.com/netstat.htm

0
Start C:\file\server\bin\putty.exe -ssh 192.168.0.210 -l oracle -pw oracle -m C:\file\server\bin\List_AIX.txt 
Timeout 20 
Taskkill /IM PuTTY.exe 
Смежные вопросы