只需知道服務的名稱,是否可以通過命令在批處理腳本中獲取Windows服務的PID?通過服務的名稱獲取Windows服務的PID
回答
試試下面的代碼:
FOR /F "tokens=3" %%A IN ('sc queryex %serviceName% ^| findstr PID') DO (SET pid=%%A) IF "!pid!" NEQ "0" ( taskkill /F /PID !pid! )
請注意,許多服務可能共享相同的PID。 ('sc queryex w32time^| find「PID」')執行'for/f「標記= 3」%A在wmic service中,「ProcessID =%A」從cmd提示符獲取標題,名稱,processid/value'。 – rojo
OP沒有要求代碼來終止服務,當然在這種情況下,您只需使用sc.exe來停止它,而不是直接終止可以託管多個服務的進程。你也可以使用'tasklist/svc/fi'services eq%serviceName%「/ fo list'這樣的東西來獲得PID以及進程託管的所有服務的列表。 – eryksun
看來'taskkill/F/PID!pid!'應該是'taskkill/F/PID%pid%' –
@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
- 1. 獲取服務器名稱
- 2. 獲得服務內的服務名稱
- 3. 根據服務器名稱獲取服務名稱
- 4. .NET Windows服務 - 通過服務重新啓動獲取更新
- 5. 如何使用PID從服務器層獲取進程名稱
- 6. 獲取WCF服務的名稱空間
- 7. 獲取服務名稱的端口號?
- 8. 獲取服務器名稱的ContextLoaderListener
- 9. 如何從代碼獲取Azure雲服務的服務名稱?
- 10. 通過PID獲取進程名稱
- 11. 如何僅通過服務器名稱獲取SQL Server版本?
- 12. 通過WCF數據服務獲取Windows用戶名(Silverlight)
- 13. SQL服務器:通過城市名稱
- 14. 通過藍牙連接服務名稱
- 15. 如何在運行時獲取Windows服務的名稱?
- 16. 在Python中獲取服務器/服務器名稱指示
- 17. 從服務名稱獲取SID
- 18. 在init.d中獲取服務名稱
- 19. Logstash,獲取遠程服務器名稱
- 20. 全球ASAX - 獲取服務器名稱
- 21. 無法獲取SQL服務器名稱
- 22. 查找MySql服務器實例的windows服務名稱
- 23. Windows服務器名稱服務器系統的核心
- 24. 從服務器獲取Windows登錄名
- 25. 如何更改Windows服務的名稱?
- 26. pt-br中的SCCM服務名稱Windows
- 27. 通過http請求獲得名稱服務器的響應?
- 28. 如何通過PID和線程ID找到Windows服務?
- 29. 如何找出PID從給定的服務名稱在命令行中運行的Windows服務的?
- 30. Windows Safari無法通過NetBIOS/WINS名稱訪問服務器
這並不爲你工作? http://stackoverflow.com/questions/17472903/how-to-get-the-dynamic-pid-of-a-windows-service-and-then-kill-it –
不,這不是我想要的。那些代碼將通過.exe文件找到PID而不是服務的名稱。 – ilce