Windows pid为4的进程占用80端口的解决办法

首先使用管理员模式打开CMD

C:\Windows\system32>netstat -aon|findstr "80"
  TCP    0.0.0.0:80             0.0.0.0:0              LISTENING       4

会发现80端口被占用

使用teskkill

C:\Windows\system32>taskkill /pid 4 -t -f
错误: 无法终止 PID 120 (属于 PID 4 子进程)的进程。
原因: 拒绝访问。
错误: 无法终止 PID 444 (属于 PID 4 子进程)的进程。
原因: 这是一个关键系统进程。Taskkill无法结束这个进程。
错误: 无法终止 PID 2604 (属于 PID 4 子进程)的进程。
原因: 拒绝访问。
错误: 无法终止 PID 4 (属于 PID 0 子进程)的进程。
原因: 拒绝访问。

发现并不能被杀死

使用下面的命令停止http服务,就可以解除80端口占用

C:\Windows\system32>net stop http
下面的服务依赖于 HTTP Service 服务。
停止 HTTP Service 服务也会停止这些服务。

如果没有使用管理员模式打开CMD会显示拒绝访问

新版本的Vmware有个默认的选项也会占用80/443端口

打开Vmware 编辑 --- 首选项 --- 共享虚拟机 --- 更改设置 --- 禁用共享 就可以解决占用80/443端口

PS C:\WINDOWS\system32> net stop wuauserv 没有启动 Windows Update 服务。 请键入 NET HELPMSG 3521 以获得更多的帮助。 PS C:\WINDOWS\system32> net stop cryptSvc 程序“net.exe”无法运行: 拒绝访问。所在位置 行:1 字符: 1 + net stop cryptSvc + ~~~~~~~~~~~~~~~~~。 所在位置 行:1 字符: 1 + net stop cryptSvc + ~~~~~~~~~~~~~~~~~ + CategoryInfo : ResourceUnavailable: (:) [], ApplicationFailedException + FullyQualifiedErrorId : NativeCommandFailed PS C:\WINDOWS\system32> net stop bits 没有启动 Background Intelligent Transfer Service 服务。 请键入 NET HELPMSG 3521 以获得更多的帮助。 PS C:\WINDOWS\system32> net stop msiserver 没有启动 Windows Installer 服务。 请键入 NET HELPMSG 3521 以获得更多的帮助。 PS C:\WINDOWS\system32> ren C:\Windows\SoftwareDistribution SoftwareDistribution.old PS C:\WINDOWS\system32> ren C:\Windows\System32\catroot2 catroot2.old ren : 对路径“C:\Windows\System32\catroot2”的访问被拒绝。 所在位置 行:1 字符: 1 + ren C:\Windows\System32\catroot2 catroot2.old + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : WriteError: (C:\Windows\System32\catroot2:String) [Rename-Item], IOException + FullyQualifiedErrorId : RenameItemIOError,Microsoft.PowerShell.Commands.RenameItemCommand PS C:\WINDOWS\system32> net start wuauserv Windows Update 服务正在启动 . Windows Update 服务已经启动成功。 PS C:\WINDOWS\system32> net start cryptSvc 请求的服务已经启动。 请键入 NET HELPMSG 2182 以获得更多的帮助。 PS C:\WINDOWS\system32> net start bits Background Intelligent Transfer Service 服务正在启动 . Background Intelligent Transfer Service 服务已经启动成功。
最新发布
03-30
<think>好的,我现在需要帮用户解决Windows更新服务相关的权限问题以及服务启动失败的问题,特别是wuauserv、cryptSvc、bits和msiserver这几个服务。用户提到无法停止或启动这些服务,遇到访问被拒绝的错误,或者服务处于未启动状态。我需要结合用户提供的引用内容,给出有效的解决方法。 首先,根据引用[2]和[3],用户可能已经尝试过通过服务管理器手动启动服务,或者用命令行重启服务,但遇到了权限问题。权限问题通常涉及用户账户控制(UAC)或管理员权限不足。因此,我应该建议用户以管理员身份运行命令提示符或PowerShell,这是解决权限问题的第一步。 接下来,如果服务无法启动,可能需要检查依赖服务是否正常运行。每个服务可能有其他依赖的服务,如果依赖服务没有启动,当前服务也会启动失败。例如,wuauserv可能依赖RPC服务等。用户需要知道如何查看服务的依赖关系,可以通过sc命令来查询,比如sc qc wuauserv。 另外,引用[3]中提到需要清理更新缓存文件。这可能涉及到停止相关服务后,删除SoftwareDistribution和Catroot2文件夹的内容。但是,如果服务无法停止,用户可能需要强制停止,或者进入安全模式进行操作。这里可能需要指导用户如何进入安全模式,或者在命令提示符下使用taskkill命令强制终止相关进程,不过需要谨慎操作,避免系统不稳定。 权限问题还可能涉及注册表或服务本身的权限设置。用户可能需要使用subinacl等工具重置服务权限,或者通过注册表编辑器修改服务的权限。不过,修改注册表有风险,需要提醒用户先备份注册表。 此外,系统文件损坏也可能导致服务无法启动。建议用户运行SFC和DISM命令来扫描和修复系统文件。引用中没有提到这一点,但这是常见的系统维护步骤,应该包含在解决方案中。 最后,如果所有方法都无效,可能需要考虑系统还原或重置,但这是最后的手段。用户应该优先尝试前面的步骤,逐步排除问题。 现在需要把这些思路整理成结构清晰的步骤,确保用户能够逐步操作,并注意权限提升、依赖服务检查、缓存清理、系统文件修复等关键点。同时,引用提供的资料需要正确标注,比如使用命令行启动服务的方法引用自[1]和[2],清理缓存的步骤参考[3]。 另外,用户的问题还提到访问被拒绝的错误,这可能涉及到文件或注册表项的所有权问题。可能需要指导用户使用takeown和icacls命令获取文件所有权,并修改权限。这部分内容需要详细说明,但操作复杂,需提醒用户小心。 总结解决方案的步骤应该是: 1. 以管理员身份运行命令行工具。 2. 检查并启动依赖服务。 3. 强制停止服务(如有必要)。 4. 重置服务权限或使用工具修复。 5. 清理更新缓存。 6. 修复系统文件。 7. 恢复默认服务配置。 8. 检查组策略或第三方软件干扰。 9. 系统还原或重置。 每个步骤需要具体的命令和操作说明,确保用户能够理解并执行。同时,注意事项部分要强调谨慎操作,尤其是在修改注册表或使用强制命令时。 最后,生成相关问题,比如如何进入安全模式,如何运行SFC扫描,或者如何备份注册表等,帮助用户进一步解决问题。</think>### 分步解决方案 #### 步骤1:以管理员身份运行命令行工具 所有涉及服务操作的命令**必须通过管理员权限的命令提示符或PowerShell执行**,否则会触发“访问被拒绝”错误。 - 右键点击“开始”菜单 → 选择“终端(管理员)”或“命令提示符(管理员)” - 输入以下命令验证权限: ```bash whoami /priv | findstr "SeTakeOwnershipPrivilege" ``` 若输出包含`SeTakeOwnershipPrivilege`则表明权限足够[^2]。 --- #### 步骤2:检查服务依赖关系 某些服务(如`wuauserv`)依赖其他系统组件。通过以下命令检查依赖项: ```bash sc qc wuauserv | findstr DEPENDENCIES ``` 若显示依赖服务未运行(例如`RPCSS`),需先启动依赖服务: ```bash net start rpcss ``` --- #### 步骤3:强制停止/启动服务 当服务卡在“停止中”状态时,使用`taskkill`强制终止进程: ```bash taskkill /f /im svchost.exe /fi "SERVICES eq wuauserv" ``` 随后重新启动服务: ```bash net start wuauserv ``` --- #### 步骤4:重置服务权限 使用`subinacl`工具重置服务控制权限(需提前下载): ```bash subinacl /service wuauserv /grant=administrators=f ``` 此命令将赋予管理员完全控制权[^3]。 --- #### 步骤5:清理更新缓存 1. 停止相关服务: ```bash net stop wuauserv net stop cryptSvc net stop bits net stop msiserver ``` 2. 删除缓存文件: ```bash del /f /q %systemroot%\SoftwareDistribution\* del /f /q %systemroot%\System32\catroot2\* ``` 3. 重启服务: ```bash net start wuauserv net start cryptSvc net start bits net start msiserver ``` 此操作可解决90%的更新缓存冲突。 --- #### 步骤6:修复系统文件 运行系统文件检查工具: ```bash sfc /scannow DISM /Online /Cleanup-Image /RestoreHealth ``` 此操作修复损坏的系统文件可能导致的底层服务故障。 --- #### 步骤7:恢复服务默认配置 通过注册表恢复服务参数: ```bash sc config wuauserv start= auto obj= LocalSystem ``` 若注册表损坏,可使用系统还原点或从正常机器导出注册表项`HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\wuauserv`后导入。 --- #### 步骤8:检查组策略限制 若企业环境中服务被组策略禁用: 1. 运行`gpedit.msc` → 计算机配置 → Windows设置 → 安全设置 → 系统服务 2. 找到目标服务 → 设置启动模式为“自动”并允许本地启动。 --- ### 注意事项 - 对`bits`服务操作时需关闭后台传输队列(通过“任务管理器 → 服务 → BITS”右键暂停) - `msiserver`服务与安装程序相关,操作时避免运行安装包 - 强制终止服务可能导致数据丢失,建议先创建系统还原点
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值