windows下查看進程(進階)


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,請自行百度


image.png
image.png
如果,通過進程號或進程名去查看進程詳情,但processName也只是簡陋的顯示node而已
翻閱了一些資料也沒有顯示命令行的

wmic

這個是cmd命令,所以需要去cmd窗口執行,這個可以滿足我們的需求,查看到命令行的東西,但執行wmic會提示 wmic已經廢棄,但還是可以用
image.png
image.png
image.png

get-wmiobject

是的,又從cmd回到了powershell,說是wmic的替代品,powershell親兒子!
image.png
image.png


image.png


image.png
這個勉強實現了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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM