windows下檢視程序(進階)
阿新 • • 發佈:2020-08-28
windows下檢視程序(進階)
背景
最近在搞appium(後續會總結一下),跑安卓的在windows上,經常啟動程序,檢視程序,學了一些實用的命令
之前就知道一些命令,如下:
# 啟動appium server appium -p 5123 # 通過埠找到程序號 netstat -ano | findstr 5123 結果如下: TCP 0.0.0.0:5123 0.0.0.0:0 LISTENING 58048 如上,58048 就5123這個埠對應的程序號 # 通過程序號檢視程序詳情 tasklist | findstr 58048 結果如下: node.exe 58048 Console 1 58,576 K 如上,只能看到是一個node的程序
所以這就是windows蛋疼的地方,我明明執行的appium命令,為啥給我來個node的,雖然實際呼叫確實是nodejs去啟動appium的,但我的目的是獲取到執行命令
進階
get-process
這個是powershell的命令,win10的同學推薦去安裝windows terminal,請自行百度
如果,通過程序號或程序名去檢視程序詳情,但processName也只是簡陋的顯示node而已
翻閱了一些資料也沒有顯示命令列的
wmic
這個是cmd命令,所以需要去cmd視窗執行,這個可以滿足我們的需求,檢視到命令列的東西,但執行wmic會提示 wmic已經廢棄,但還是可以用
get-wmiobject
是的,又從cmd回到了powershell,說是wmic的替代品,powershell親兒子!
這個勉強實現了linux下的ps -ef | grep appium
get-process -id <process_id> wmic process where caption="node.exe" get processid,commandline # 根據程序名檢視 wmic process where ProcessId="58048" get processid,commandline # 根據程序號 get-wmiobject win32_process -filter "name = 'node.exe'" | select-object commandline taskkill /F /PID <pid> # 根據pid來kill程序 taskkill /F /IM <process_name> # 通過name來kill程序 get-wmiobject -query "select processid from win32_process where commandline like '%appium%'" get-wmiobject win32_process -filter "commandline like '%appium%'" | select-object processname,processid,commandline
暫時折騰完了
參考資料
http://xntutor.com/demo/329.html
https://stackoverflow.com/questions/17563411/how-to-get-command-line-info-for-a-process-in-powershell-or-c-sharp
https://serverfault.com/questions/696460/given-a-pid-on-windows-how-do-i-find-the-command-line-instruction-that-execute