web-dev-qa-db-ja.com

サービスの名前でWindowsサービスのPIDを取得します

サービスの名前を知っているだけで、バッチスクリプトのコマンドを使用してWindowsサービスのPIDを取得する方法はありますか?

12
ilce

次のコードを試してください。

FOR/F "tokens = 3" %% A IN( 'sc queryex%serviceName%^ | findstr PID')DO(SET pid = %% A)
 IF "!pid!" NEQ "0"(
 taskkill/F/PID!pid!
)
16
Filip Shulevski

taskkill /f /fi "SERVICES eq <service_short_name>"を実行する方がはるかに簡単です

3
Matthew Carlson
@echo off

for /f "tokens= delims=" %%# in ('
  wmic service where "name='Service'" get ProcessId /format:value
') do (
  for /f "tokens=* delims=" %%$ in ("%%#") do set "%%$"
)

taskkill /pid %ProcessId% /f
3
npocmaka