技術系

Powershellでプロセスハング監視&KILLスクリプト

WindowsのプロセスがハングアップしているかをPowerShellで検知し、プロセスID単位でプロセスをKILLするスクリプトです。

たぶん需要あります。

 

Powershellでプロセスハング監視&KILLスクリプト

簡単な仕様説明

  • プロセスID(PID)をCSVフォーマットで取得
  • PID単位のCPUTIMEを取得する
  • CPUTIMEがカウントアップされない=ハング
  • ハングしているPIDをKILL

 

スクリプトソース

 

イベントログに出力するなら

イベントログソースを登録しないとエラー

このままではイベントログソースがなく以下のメッセージが出ると思います。

Write-EventLog : ソース名 "ScriptKanshi" はコンピューター "localhost" に存在しません。
発生場所 行:1 文字:15
+ Write-EventLog <<<< -LogName Application -Source ScriptKanshi -EventID 999 -Message "これはイベントログのテストメッセージです"
+ CategoryInfo : InvalidOperation: (:) [Write-EventLog]、InvalidOperationException
+ FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteEventLogCommand

 

イベントログのログソースを登録する

いちおう重複確認する

 

テストメッセージするよ。

 

イベントログソースを削除するよ

間違えたときは削除しちゃって。

 

イベントログソースの確認コマンド

ちゃんと登録されたか見てみよう。

レジストリの値をコマンドで見るよ。

 

著作権フリー

再販したらオコ。

 

社畜系インフラエンジニアブログのTOPへ戻る

  • この記事を書いた人
  • 最新記事
kanade

kanade

IT関連の仕事に従事し気付けば10余年。好きな言葉は「よくわからないけど動いてる」です。どうにかして生き残りたいアラサーのインフラエンジニア。

-技術系
-

Copyright© インフラエンジニアブログカナデ , 2020 All Rights Reserved.