PowerShell 的进程管理命令

Get-Process (获取进程信息)

Get-Process 命令用于获取本地或远程计算机上正在运行的进程信息。

Get-Process [[-Name] <string[]>] [-Id <int[]>] [-ComputerName <string[]>] [-IncludeUserName] [<CommonParameters>]

常用选项

参数 含义
-Name 指定要获取的进程名称
-Id 指定要获取的进程 PID
-ComputerName 获取指定远程计算机上的进程
-IncludeUserName 显示启动进程的用户名
-FileVersionInfo 获取进程的文件版本信息
-Module 获取进程加载的模块信息

基本示例

获取所有正在运行的进程,并显示启动用户。

Get-Process -IncludeUserName

获取指定名称的进程。

Get-Process -Name notepad

获取父进程

$process = Get-Process -Name Notepad
$process.Parent

Start-Process (启动进程)

Start-Process 命令用于启动一个或多个进程,可以执行应用程序、脚本或命令。

Start-Process [-FilePath] <string> [[-ArgumentList] <string[]>] [-WorkingDirectory <string>] [-Verb <string>] [-WindowStyle <ProcessWindowStyle>] [-Wait] [-PassThru] [<CommonParameters>]

常用选项

参数 含义
-FilePath 指定要启动的程序路径
-ArgumentList 指定传递给程序的参数
-Verb 调用文件或程序在系统右键菜单中定义的操作
-WindowStyle 设置窗口样式(Normal, Hidden, Minimized, Maximized)
-NoNewWindow 在当前终端运行,不弹新窗口。
-WorkingDirectory 指定进程的工作目录
-Wait 等待进程退出后再继续执行
-PassThru 返回进程对象,便于后续操作
-RedirectStandardOutput 重定向 stdout。
-RedirectStandardError 重定向 stderr。

基本示例

启动批处理文件并等待。

Start-Process -FilePath "cmd.exe" -ArgumentList "/c backup.bat" -Wait

启动程序并获取进程对象。

$proc = Start-Process -FilePath "notepad.exe" -PassThru
$proc.Id

启动默认程序打开文件

Start-Process -FilePath "https://www.baidu.com"        # 在默认浏览器中打开网页
Start-Process -FilePath "document.pdf"                 # 使用默认PDF阅读器打开文件
Start-Process -FilePath "C:\Windows"                   # 在资源管理器中打开

使用动词(Verb)执行特殊操作

Start-Process -FilePath "powershell.exe" -Verb RunAs   # 以管理员权限运行

Stop-Process (终止进程)

Stop-Process 命令用于停止一个或多个正在运行的进程。

Stop-Process [-Id] <int[]> [-Force] [-PassThru] [-Confirm] [-WhatIf] [<CommonParameters>]
Stop-Process -Name <string[]> [-Force] [-PassThru] [-Confirm] [-WhatIf] [<CommonParameters>]

常用选项

参数 含义
-Name 指定要终止的进程名称
-Id 指定要终止的进程 ID
-Force 强制终止进程
-PassThru 返回已终止的进程对象
-Confirm 执行操作前要求确认
-WhatIf 模拟操作,显示会有什么影响

基本示例

按名称终止进程,要求确认。

Stop-Process -Name notepad -Confirm

按ID终止进程。

Stop-Process -Id 1234

Wait-Process (等待进程)

Wait-Process 命令用于等待进程停止,然后再继续执行脚本。

Wait-Process [-Id] <int[]> [[-Timeout] <int>] [<CommonParameters>]
Wait-Process -Name <string[]> [[-Timeout] <int>] [<CommonParameters>]
Wait-Process [-InputObject] <Process[]> [[-Timeout] <int>] [<CommonParameters>]

常用选项

参数 含义
-Name 指定要等待的进程名称
-Id 指定要等待的进程 ID
-InputObject 通过管道传入进程对象
-Timeout 指定最大等待时间(秒)

基本示例

设置超时时间,等待记事本进程结束。

Wait-Process -Name notepad -Timeout 10

等待指定ID的进程结束。

Wait-Process -Id 1234
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容