Форум программистов, компьютерный форум, киберфорум
Наши страницы
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 5.00
Cro_web
0 / 0 / 0
Регистрация: 25.09.2012
Сообщений: 9
#1

Как убить процесс при выходе из программы? - CMD/BAT

21.10.2012, 01:40. Просмотров 1507. Ответов 3
Метки нет (Все метки)

Собственно столкнулся с проблемой... Нужно запустить 2 программы по очереди, а затем при закрытии вручную программы №2 Требуется убить процесс программы №1

Bash
1
2
start программа №1.exe 
start /d "D:\programms"  "" "Программа №2.exe"
Я так понимаю надо использовать taskkill:

http://www.cyberforum.ru/windows-admin/thread1811488.html
if Exist "Программа №2.exe" = taskkill /im программа №1.exe /f
но при данной команде сразу же происходит завершение программы №1

Помогите пожалуйста!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.10.2012, 01:40
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Как убить процесс при выходе из программы? (CMD/BAT):

Как убить процесс через несколько секунд после запуска?
START "" "%programfiles%\internet explorer\iexplore.exe"...

Красиво убить процесс
Задачка! Как сделать, чтобы убивался процесс без вывода в командную строку...

Убить процесс через время
Добрый день, друзья! Есть проблемка. В батнике нужно сделать следующее:...

Убить дочерний процесс, не трогая основной
Доброго времени суток. Задача такая, нужно убить дочерний процесс не трогая...

Очистка учетной записи при выходе из нее
Господа, подскажите пожалуйста как в виндовс 7 проф. реализовать такую...

3
Dragokas
Эксперт WindowsАвтор FAQ
16922 / 7007 / 851
Регистрация: 25.12.2011
Сообщений: 10,803
Записей в блоге: 16
21.10.2012, 03:55 #2
Bash
1
2
3
start "" "программа №1.exe"
start "" /d "D:\programms" /WAIT "Программа №2.exe" 
taskkill /f /im:"программа №1.exe"
1
Cro_web
0 / 0 / 0
Регистрация: 25.09.2012
Сообщений: 9
21.10.2012, 13:19  [ТС] #3
Спасибо! Работает =) Однако я нашел решение:
(так тоже работает)

Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
@echo off 
set process=1.tmp 
start  Программа №1.exe
start /wait /d "D:\programms" "" "Программа №2.exe"
goto checker 
:check 
cls 
echo Process %process% is still running... 
:checker 
tasklist /FI "IMAGENAME eq %process%" /NH | findstr /i "%process%">nul 
if %errorLevel% == 0 goto :check 
rem Программа №2.tmp
taskkill /im Программа №1.exe
ну и VBS для скрытого запуска:

Visual Basic
1
2
3
4
Dim oShell
Set oShell = WScript.CreateObject ("WSCript.shell")
oShell.run "run.bat", 0 
Set oShell = Nothing
0
Dragokas
Эксперт WindowsАвтор FAQ
16922 / 7007 / 851
Регистрация: 25.12.2011
Сообщений: 10,803
Записей в блоге: 16
21.10.2012, 17:32 #4
Можно и так. Но зачем перегружать процессор бесконечным циклом.

P.S. Названия файлов/папок, в которых имеются пробелы, всегда берут в кавычки.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.10.2012, 17:32
Привет! Вот еще темы с решениями:

Как убить сессию при выходе из каталога?
Задача примерно такова: Есть каталог, при входе в который проводиться...

Как убить процесс?
Подскажите как убить процесс? Желательно любой (вплоть до win.com) Заранее...

Как убить процесс?
Посмотрел на форумах и/к на убивание процесса, у всех делается через код т.е. ...

Как убить процесс?
Как убить процесс с помощью программы(консольного приложения)?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru