windows使用命令行管理进程

前言

在windows中,我们通常使用GUI图形画面的任务管理器来管理进程。
任务管理器提供了一个较为友好的图形界面,然而他也存在一定问题。
首先,任务管理器就要吃掉一部分性能。
而且,当你在任务管理器页面,点击按名称排序时,那可能会出现灾难性的卡顿,这对一台旧电脑来说压力太大了。

其次,任务管理器不提供根据名称查找等功能。
算了,反正总而言之,在一些情况下,使用任务管理器并不能达到我们的预期,因此我们尝试使用命令行去管理进程。

powershell

查找进程

# 显示所有进程
get-process
# 根据名称查找
get-process -name nginx
# 根据id查找(id唯一)
get-process -id 1428
# 显示非系统进程
Get-Process | Where-Object { $_.SessionId -ne 0 }

命令行方式是没有任务管理器直观的,因为他和我们直接看到的有些许区别。
比如百分浏览器,大家都知道他是套壳chrome,他的exe文件甚至也叫chrome.exe
在任务管理器中,他依然是百分。
image
而使用命令行查询,显示的是chrome
image
他是根据exe文件的名称来显示的
假如我修改其名称为chrome111.exe,在命令行中他也会变。
image

image

既然这样,命令行的好处也就出来了,也就是说,只要我们知道某个程序的exe文件名称,就能查找到他的进程。
更重要的是,命令行的性能远超任务管理器,默认就是按名称升序。不过你无法按内存占用排序了,因为同名的没有被合并,直接排序就没有意义了。比如浏览器中,多个标签页就是多个进程,而在我们使用习惯中,只关心浏览器整体占用了多大内存,而不是单个标签页。

结束进程

stop-process -name nginx
stop-process -id 1428
posted @ 2025-02-22 23:58  魂祈梦  阅读(131)  评论(0)    收藏  举报