Электростальский форум

Hi-Tech => Компьютеры, периферия, мультимедиа и ПО => Тема начата: Faust от 10.09.14, 16:35:00

Название: Завершить процесс на компьютере через командную строку
Отправлено: Faust от 10.09.14, 16:35:00
Задача - нужно удалить процесс на компьютере, который запущен от определенного пользователя больше определенного времени, желательно с логами.
tasklist / taskkill не катят.
Как выяснилось, получить данные о том, сколько времени прошло с момента запуска не получается.
taskkill /FI "USERNAME eq user" /FI "IMAGENAME eq cmd.exe" /FI "CPUTIME gt 00:10:00"
Не прокатывает. По какой-то причине, все процессы имеют CPUTIME никак не привязанные ко времени запуска. Через утилиту pslist выяснилось, что это Kernel Time. Наверное, это время, в течении которого процесс обрабатывается процессором. Если он тупо висит, то время = 0:00:00.
Например, запустил несколько cmd.exe от разных юзерей:

Имя образа   PID   Имя сессии   № сеанса   Память   Состояние   Пользователь   Время ЦП   Заголовок окна
cmd.exe   10252   Console   1   3 100 КБ   Running   user   0:00:00   Командная строка
cmd.exe   2188   Console   1   2 796 КБ   Running   user   0:00:00   Командная строка - tasklist  /fi imagename eq cmd.exe" /v  /FO csv"
cmd.exe   11172   Console   1   2 572 КБ   Running   admin   0:00:00   C:\Windows\system32\cmd.exe

По pslist.exe вот такая картинка:

cmd 10252:
 Tid Pri    Cswtch            State     User Time   Kernel Time   Elapsed Time
10180  14      1997   Wait:Executive  0:00:00.015   0:00:00.062    2:36:32.025

cmd 2188:
 Tid Pri    Cswtch            State     User Time   Kernel Time   Elapsed Time
11880  14      1433     Wait:UserReq  0:00:00.015   0:00:00.046    0:44:56.572

cmd 11172:
 Tid Pri    Cswtch            State     User Time   Kernel Time   Elapsed Time
8364  14        89   Wait:Executive  0:00:00.015   0:00:00.000    0:44:36.144

Какие ещё утилиты есть?
Название: Re: Завершить процесс на компьютере через командную строку
Отправлено: Mz от 10.09.14, 16:39:46
Поможет или нет не скажу, а утилита есть PSKILL из пакета PsTools
Название: Re: Завершить процесс на компьютере через командную строку
Отправлено: Eugene от 10.09.14, 17:15:54
powershell можно заюзать
Get-Process -Name cmd | Format-List name, id, path, starttime
Название: Re: Завершить процесс на компьютере через командную строку
Отправлено: Faust от 10.09.14, 20:24:31
Поможет или нет не скажу, а утилита есть PSKILL из пакета PsTools
И какой параметр PSKILL отвечает за продолжительность процесса?

powershell можно заюзать
Get-Process -Name cmd | Format-List name, id, path, starttime
Нет возможности юзать PS, винда 2003=(