powershell 中 ps processname* | kill 和 kill -p processname* 有什么区别?

powershell 中 ps processname* | kill 和 kill -p processname* 有什么区别?

在 powershell 中,有区别吗:

ps theProcessName* | kill

kill -processname theProcessName*

谢谢

答案1

事实上,答案是否定的。

ps [processname] | kill将查询与“processname”匹配的对象列表并将这些对象传递给命令kill

kill -processname [processname]将终止所有与“processname”匹配的进程。

唯一的区别在于命令在后端的工作方式。对于ps [processname] | kill,Powershell 将首先执行Get-Process命令,然后将其传递给 kill。kill -processname [processname]将简单地发出Stop-Process命令,而不先查询它们的存在。

简短的回答:它们都将执行相同的任务。直接kill命令稍微快一点,因为跳过了一步。

答案2

好吧,“ps processname” 什么也不做。“kill -p” 也不会终止进程。它只会打印。

相关内容