Запуск конкретного процесса с использованием batchfile / Powershell и запись его PID - PullRequest
0 голосов
/ 29 января 2019

В моей ситуации я ищу решение, при котором конкретная задача выполняется из командного файла.

При выполнении того же пакетного файла задача / processid, который запускается пакетным файлом ранее, должна получить только kill.

В настоящее время с командой

taskkill /f /im "notepad.exe"
powershell.exe Start-Process notepad.exe

Все экземплярыБлокнот приближается, которые были открыты пользователем / любым другим процессом.однако я специально хочу, чтобы этот пакетный файл закрывал созданный им PID и закрывал тот же PID на случай, если мы снова запустим этот пакетный файл.

Может быть с этим требованием пакетный файл должен записать файл с ProcessName и его PID.и для каждого выполнения командного файла он должен искать идентификатор процесса, упомянутый там, и закрывать его, если он уже запущен, и открывать новый экземпляр и обновлять файл, в котором хранится PID.

Любая помощь приветствуется.Спасибо

1 Ответ

0 голосов
/ 29 января 2019

Хотя я не рекомендую это и считаю это полным перебором - решение для cmd:

for /f "usebackq" %%p in (`powershell.exe -nologo -c "(start-process notepad.exe -passthru).id"`) do set pid=%%p
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...