Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Запуск и завершение процесса из СМD (http://forum.oszone.net/showthread.php?t=151638)

Vsirf 27-09-2009 21:04 1228898

Запуск и завершение процесса из СМD
 
Возможно ли создать cmd файл для открытия или завершения процесса работы файлов например topdesk и Truetransparency ?

Habetdin 27-09-2009 23:48 1229041

Vsirf, запуск:
Код:

start "" "%ProgramFiles%\prog\prog.exe"
"Убийство" процесса:
Код:

tskill prog
либо
Код:

taskkill /f /im prog.exe

Cool Zero 19-05-2010 07:51 1416490

Подскажите пожалуйста, может я что не так пишу!?
Например мне нужно завершить процесс MTS Home Internet из CMD, с тем учётом что название MTS Home Internet долно быть раздельно а не MTSHomeInternet слитно.

Ввожу
tskill MTS Home Internet /A
Запускаю, и пишет:

Ошибка в параметрах
Прекращение процесса.

TSKILL <id процесса> | <имя процесса> [/SERVER:<сервер>]
[/ID:<id сеанса> | /A] [/V]

<id процесса> ID прекращаемого процесса.
<имя процесса> Имя прекращаемого процесса.
/SERVER:<сервер> Сервер для этого процесса (по умолчанию текущий).
Параметр /ID или /A должен быть указан при использовании
имени процесса и параметра /SERVER.
/ID:<id сеанса> Прекратить процесс, выполняемый в указанном сеансе.
/A Прекратить процесс, выполняемый во всех сеансах.
/V Отображение информации о выполненных действиях.

PS Завершить tskill AutoDect /A получается завершить а MTS Home Internet ни как.
За ранее спасибо!

Stanner 19-05-2010 08:53 1416509

Имя процесса - имя выполняемого файла без расширения

gora 19-05-2010 09:47 1416544

Цитата:

Цитата Cool Zero
что не так пишу!? »

Код:

TSKILL /A "MTS Home Internet"

или

TASKKILL /IM "MTS Home Internet.exe"

Важно:
Утилита TASKKILL отсутствует в Windows XP Home.
Утилита TSKILL отсутствует в Windows 7 (возможно и в Vista).

Stanner 19-05-2010 10:08 1416557

Цитата:

Цитата gora
Утилита TSKILL отсутствует в Windows 7 »

Я так и не разобрался, TSKILL в Windows 7 есть, но в inf-файлах почему-то не отрабатывает :(

bazik83 22-05-2010 21:09 1418956

А для windows 2000 существует аналог taskkill? кроме pskill.

Stanner 27-05-2010 10:47 1422075

Цитата:

Цитата Stanner
TSKILL в Windows 7 есть, но в inf-файлах почему-то не отрабатывает »

Прекрасно отрабатывает при указании полного пути: %11%\tskill

ergis@vk 24-08-2013 17:39 2206779

Приветствую.

А как можно завершить процесс, если скажем, нам неизвестно время его запуска? Как завершить именно нужный нам процесс, если процесс с таким именем использует другая программа?

Пример:
Устанавливается репак одной из игр. А так, как господа репакеры любят добавлять NET DirectX и др, то, соответственно, ключ тихой установки работает до того момента, когда пользователю предлагается установить какую-либо из данных "плюшек". Но меня это не устраивает в корне, так как репаков далеко не один, как и компьютеров.
единственное, что пришло в голову, это выставить паузу.
Пример:
start "" "F:\DSTBR\Disk D\Games\RPG\Left 4 Dead 2 [v 2.0.8.4 + 6 DLC]\setup.exe" /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP- /DIR="D:\Games\RPG\Left 4 Dead"
ping 127.1 -n 2100 >nul
taskkill /f /im install.exe /t
ping 127.1 -n 15 >nul
taskkill /f /im setup.exe /t

Переходим к следующему
...
Но это топорно.
Хотелось бы, чтобы во время установки скрытно висел bat файл, который бы проверял наличие указанных процессов с определённой периодичностью и "убивал" их. Цикл реализовать не сложно.
Это, реализуемо, если бы не одно "но".
Скажем, у того же .NET имя процесса setup.exe как и у процесса установки вышеназванного репака.

Может быть, можно было определить PID процесса, и уже потом убить его? Но как это сделать, он всегда разный?
Используя nircmd пытаюсь закрыть окно, выдаёт меню "Вы уверены...?"

Что делать? Подскажите хотя бы направление мыслей)
ЗЫ. Win XP SP3

luj 14-01-2017 11:43 2703495

завершение всех процессов попадающих под условие:

вот работающий пример завершения работы по имени окна "TITLE" в CMD описан. если нужен процесс - то первая строка такая

for /F "tokens=2 delims= " %%i in ('tasklist /FI "imagename eq cmd.exe"') do (



время до завершения указывайте в строке

ping 127.0.0.1 -n 40 >NUL
в данном случае 40 секунд


КОД

SETLOCAL ENABLEDELAYEDEXPANSION

for /F "tokens=2 delims= " %%i in ('tasklist /FI "imagename eq cmd.exe" /v ^|find /i ": wd"') do (

echo %%i

set PidWd=%%i !PidWd!



)
echo %PidWd%
ping 127.0.0.1 -n 40 >NUL

for /D %%i in (%PidWd%) do (
taskkill /FI "pid eq %%i"
)
exit

ENDLOCAL

z6rpoo 07-05-2017 15:46 2734827

А подскажите как убить процесс запущенный от другого пользователя?
Хром запущен в текущей учетке, и еще под другим пользователем. Как убить процесс хрома который запущенный именно под второй учеткой не трогая процесс текущего пользователя.

Petya V4sechkin 07-05-2017 15:56 2734828

z6rpoo, пример:
Код:

taskkill /IM chrome.exe /FI "USERNAME eq другой_пользователь"
Для принудительного завершения добавьте опцию /F.

z6rpoo 08-05-2017 17:07 2735162

ух шайтан, работает)


Время: 19:38.

Время: 19:38.
© OSzone.net 2001-