如何根据进程的开关来终止进程

发布于 2024-11-08 21:36:10 字数 130 浏览 0 评论 0原文

我想杀死一个进程,尽管只用特定的开关杀死一个进程,例如

taskkill "cmd.exe" /s /k Pushd

你能做到吗?

I would like to kill a process, although only kill a process with a specific switch, e.g.

taskkill "cmd.exe" /s /k pushd

Can you do this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

夏日落 2024-11-15 21:36:10

我会使用 Windows 列出所有正在运行的进程进程状态API。之后,尝试获取进程的命令行,就像 Process Explorer 所做的那样(它似乎这可以通过未记录的 API 来完成。接下来,只需使用上面提到的相同 PSAPI 终止符合您条件的进程即可。

I would go for listing all running processes using the Windows Process Status API. After that, try to get the process's command line, like Process Explorer does (it seems that this can be done through an undocumented API). Next, just kill the process that matches your criteria using the same PSAPI above mentioned.

原来是傀儡 2024-11-15 21:36:10

您可以使用 NtQueryInformationProcess 功能。 PROCESS_BASIC_INFORMATION 结构有一个成员 PebBaseAddress ,它是一个指向 PEB 结构。从那里您可以检查 ProcessParameters 成员,它是指向 RTL_USER_PROCESS_PARAMETERS 结构。最后您可以检查其 CommandLine 成员。

You can use the NtQueryInformationProcess function. The PROCESS_BASIC_INFORMATION struct has a member PebBaseAddress witch is a pointer to the PEB structure. From there you can check the ProcessParameters member which is a pointer to a RTL_USER_PROCESS_PARAMETERS structure. Finally you can check its CommandLine member.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文