Убить второстепенную задачу данного процесса - PullRequest
0 голосов
/ 30 мая 2019

Я пытаюсь убить вторичную задачу процесса, используя powershell, batch, python ... все, что я могу сохранить как скрипт и запустить его удаленно. Изображение TaskManager выглядит следующим образом:

TaskManager

Я бы хотел убить человека с более длинным названием, оставив открытым "SAP Logon 740". Каждое задание дерева имеет одинаковый PID, поэтому я не могу просто убить процесс.

Полагаю, это возможно, потому что я могу сделать это вручную, перейдя в Task MAnager, расширив процесс и завершив эту конкретную задачу, но все, что я обнаружил, состоит в том, чтобы убить процесс, что в моем случае невозможно.

Я до сих пор пробовал использовать список задач / taskkill, powershell (Get-Process, Get-Object Win32_Process ...), но я не смог найти, как это сделать.

Здесь у вас есть вывод TaskList (Status = Running)

Output

Там показана только одна задача (та, что впереди).

1 Ответ

0 голосов
/ 30 мая 2019

Поскольку вы использовали тег и даже запускали команду tasklist, используя powerhell.exe, я решил предоставить примеры с ее использованием.

Если ваши критериичтобы остановить процесс с именем saplogon с самой длинной строкой заголовка окна:

GPs saplogon|Sort{$_.mainWindowTitle.Length}|Select -L 1|SpPs -Wh

Если ваш критерий - остановить все процессы с именем saplogon, крометот, у которого самая короткая строка заголовка окна:

GPs saplogon|Sort{$_.mainWindowTitle.Length}|Select -Skip 1|SpPs -Wh`

Если вы довольны выводом, вы можете удалить -Wh, (-WhatIf) , чтобы фактически выполнить задачу.При необходимости вы можете даже заменить это на -F, (-Force) , , если необходимо .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...