Мониторинг зависших экземпляров скрипта powershell - PullRequest
1 голос
/ 05 августа 2011

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

Я думал, что буду использовать что-то вроде этого:*

$process = Get_Process | $name
$process.kill

Но как получить переменную $ name простым способом?

У кого-нибудь есть лучшее предложение?С наилучшими пожеланиями, Gísli

Ответы [ 2 ]

2 голосов
/ 05 августа 2011

Вы можете сделать это в конфигурации Windows по расписанию.Однако настройки зависят от используемой вами ОС.

РЕДАКТИРОВАТЬ: то есть вы можете настроить задачу, которая будет убита через определенный промежуток времени (т. Е. При запуске следующей).

1 голос
/ 05 августа 2011

Зачем вам нужно имя? Get-Process возвращает объекты высокой точности Process, и вы можете работать с ними напрямую.

Чтобы получить процесс с определенным именем, используйте, скажем, $n = Get-Process notepad, а затем $n.kill(), чтобы убить его. Если вам нужно еще раз проверить имя, выполните $n.Name. Чтобы увидеть, какие свойства и методы вы можете использовать, попробуйте $n | get-member

И обязательно прочитайте инструкцию: http://technet.microsoft.com/en-us/library/dd347630.aspx

...