svchost.exe命令行参数-p怎么才能显示 -s
时间: 2023-08-01 10:11:06 浏览: 47
svchost.exe是Windows操作系统中的一个系统进程,它是一个通用的进程托管器,可以托管多个服务。-p参数用于指定要托管的服务的进程标识符(PID),-s参数用于指定要托管的服务的名称。如果想要显示-s参数,可以使用如下命令:
```
tasklist /svc /fi "imagename eq svchost.exe"
```
这条命令将列出所有正在运行的svchost.exe进程及其托管的服务,并将它们分组显示。在每个分组的顶部,将显示该分组托管的服务的名称(使用-s参数),而不是PID(使用-p参数)。
相关问题
什么程序可实现“svchost.exe -k LocalServiceNetworkRestricted -p -s EventLog”这样的效果?
这个命令是 Windows 操作系统中的服务程序(svchost.exe)启动 EventLog 服务,使用 LocalServiceNetworkRestricted 身份运行,并打开 -p 和 -s 参数。这个命令通常在命令行中执行。
如果您想在自己的程序中实现类似的效果,您可以使用 Windows API 中的服务控制管理器(SCM)函数来启动和管理服务。具体来说,您可以使用 CreateService、OpenService、StartService 等函数来创建、打开和启动服务。
以下是一个示例代码,可以启动 EventLog 服务:
```c++
#include <Windows.h>
int main()
{
SC_HANDLE hSCM = OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS);
if (hSCM == NULL)
{
// 处理错误
return -1;
}
SC_HANDLE hService = OpenService(hSCM, "EventLog", SERVICE_START);
if (hService == NULL)
{
// 处理错误
CloseServiceHandle(hSCM);
return -1;
}
if (!StartService(hService, 0, NULL))
{
// 处理错误
CloseServiceHandle(hService);
CloseServiceHandle(hSCM);
return -1;
}
CloseServiceHandle(hService);
CloseServiceHandle(hSCM);
return 0;
}
```
需要注意的是,您需要以管理员权限运行程序才能成功启动服务。
使用命令 Get-Process svchost.exe 提示:找不到名为“svchost.exe”的进程
这个问题可能是由于权限不足导致的。请使用管理员身份运行 PowerShell,并再次尝试使用该命令。
如果问题仍然存在,可能是因为 svchost.exe 进程被隐藏了。你可以尝试使用任务管理器或其他进程管理工具查看是否存在 svchost.exe 进程。如果仍然找不到,请运行杀毒软件扫描计算机以查找可能存在的恶意软件。