端口8000,进程ID为4,无法终止,使用taskkill /f /pid 4命令,出现拒绝访问的错误提示。

5

我无法终止绑定在8000端口的进程,因此无法启动HTTP服务器。这是参考以下问题: 启动HTTP/HTTPS服务器,python -m SimpleHTTPServer

C:\>taskkill /f /pid 4
ERROR: The process with PID 4 could not be terminated.
Reason: Access is denied.

即使按照下面的方式杀死进程也不起作用,这是我在某处发现的。
C:\>taskkill /f /s localhost /pid 4
ERROR: The process with PID 4 could not be terminated.
Reason: Access Denied.

PID 4 是系统进程,可能在那里运行什么程序?如何停止它?为什么其他端口也在类似的方式下监听着呢?

C:\>netstat -ab

Active Connections

  Proto  Local Address          Foreign Address        State
  TCP    0.0.0.0:135            garg10may-PC:0         LISTENING
  RpcSs
 [svchost.exe]
  TCP    0.0.0.0:443            garg10may-PC:0         LISTENING
 [vmware-hostd.exe]
  TCP    0.0.0.0:445            garg10may-PC:0         LISTENING
 Can not obtain ownership information
  TCP    0.0.0.0:902            garg10may-PC:0         LISTENING
 [vmware-authd.exe]
  TCP    0.0.0.0:912            garg10may-PC:0         LISTENING
 [vmware-authd.exe]
  TCP    0.0.0.0:8000           garg10may-PC:0         LISTENING
 Can not obtain ownership information

以管理员身份运行您的命令提示符。 - g4ur4v
是的,仅以管理员身份登录。 - garg10may
3个回答

8
如果您使用的是Windows操作系统,这可能会对您有所帮助——通常端口80被该服务占用:"全球网络发布服务"。打开控制面板中的"服务",并停止该服务即可。

也被称为Web部署服务。 - Catalina Fernández

2
根据Python的文档,http.server 模块也可以通过解释器的 -m 开关和端口号参数直接调用。与之前的例子类似,它会提供相对于当前目录的文件。请参阅:文档
python -m http.server 8000

如果您的8000端口已被占用,请将其更改为其他端口号。
python -m http.server 5000

随意杀死进程,尤其是系统进程,不是一个好主意。


1
不要这样做 - 有一个原因你不能杀死它,因为你没有启动它。相反,传递另一个端口号:
对于Python 3:
python -m http.server 8080

对于 Python 2:

python -m SimpleHTTPServer 8080

可以在另一个端口上启动,但仍然好奇该端口上可能运行的内容,如果是这种情况,我也应该能够终止它。 - garg10may

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接