- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Powershell プロセス二重起動)
Powershell プロセス二重起動チェック方法と該当プロセスの停止方法
このQ&Aのポイント
- PowerShell初心者のため、自身で起動中のスクリプトと同じコマンドで実行しているプロセスを検知し、二重起動をチェックしたいと考えています。現在はコマンドラインでの確認を試みていますがうまくいきません。この質問では、プロセス情報をファイルに出力し、自分のPID以外のプロセス情報を取得しようとしていますが、プロセス番号の取得がうまく行かなっています。最終的には取得したPIDで該当プロセスを終了したいと考えています。しかし、他の方法でも構いませんので、二重起動のチェックと該当プロセスの停止方法についての参考情報を教えていただけると幸いです。
- PowerShell初心者が自身で起動中のスクリプトと同じコマンドで実行しているプロセスを検知し、二重起動をチェックする方法についての質問です。現在はコマンドラインで確認しているがうまくいっていません。質問者はプロセス情報をファイルに出力し、自分のPID以外のプロセス情報を取得しようとしていますが、プロセス番号の取得ができていません。最終的には取得したPIDで該当プロセスを終了したいと考えています。他の方法でも構いませんので、二重起動のチェックと該当プロセスの停止方法についての参考情報を教えていただけると助かります。
- PowerShell初心者が自身で起動中のスクリプトと同じコマンドで実行しているプロセスを検知し、二重起動をチェックする方法についての質問です。現在コマンドラインで確認しているが、プロセス番号の取得ができていません。最終的には取得したPIDで該当プロセスを終了したいと考えています。他の方法でも構いませんので、二重起動のチェックと該当プロセスの停止方法についての参考情報を教えていただけますでしょうか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
Get-WmiObject win32_process | Where {$_.Name -eq "powershell.exe" -and $_.CommandLine -match "svmon131_loop" -and $_.ProcessId -ne $PID} | ForEach {Stop-Process -ID $_.ProcessId} という感じでどうでしょう? (1)すべてのプロセスを列挙 (2)(1)のうち、「Name="powershell.exe" AND CommandLineが正規表現"svmon131_loop"にマッチ AND ProcessIdが自分以外」を満たすプロセスを抽出 (3)(2)で抽出したプロセスに対して、各々Stop-Processを実行
お礼
出来ました!ありがとうございます! なるほどー 大変、勉強になりました。