Таким образом, у меня есть процесс, я запустил с одного bat-файла. Как остановить его от другого?
Чтобы завершить процесс, имя которого вы знаете, попробуйте:
taskkill /IM notepad.exe
Это попросит его закрыть, но он может отказать, предложить «сохранить изменения» и т. Д. Если вы хотите принудительно убить его, попробуйте:
taskkill /F /IM notepad.exe
Когда вы запускаете процесс из пакетного файла, он запускается как отдельный процесс без указания на пакетный файл, который его запустил (так как это должно было закончиться тем временем, вещи как будто идентификатор родительского процесса вам не поможет).
Если вы знаете имя процесса и оно уникально среди всех запущенных процессов, вы можете использовать taskkill
, как @IVlad предлагает в комментарии.
Если он не уникален, возможно, вы захотите найти работу. Они завершают все порожденные дочерние процессы, когда они завершаются.