Windows系统非正常关机nginx报错:nginx: [error] OpenEvent("Global\ngx_stop_20448") failed (2: The system cannot find the file specified)

昨天电脑自动关机了,而nginx并没有关机。

早上我输入停止nginx命令,报错

D:\tools\nginx-1.8.0>nginx -s stop
nginx: [error] OpenEvent("Global\ngx_stop_20448") failed (2: The system cannot find the file specified)

 

系统找不到指定的文件,那我就启动nginx

D:\tools\nginx-1.8.0>nginx.exe
nginx: [emerg] bind() to 0.0.0.0:9001 failed (10013: An attempt was made to access a socket in a way forbidden by its access permissions)

试图以其访问权限禁止的方式访问套接字,有人说这个是9001端口被占用了

 

尝试杀死PID 9001端口

D:\tools\nginx-1.8.0>taskkill  /f  /pid 9001
错误: 没有找到进程 "9001"。

提示没有这个进程,意思是9001端口没有被占用

任务管理器PID中没有9001

Windows系统非正常关机nginx报错:nginx: [error] OpenEvent("Global\ngx_stop_20448") failed (2: The system cannot find the file specified)

 

查看机器端口占用情况

D:\tools\nginx-1.8.0>netstat -ano

活动连接

协议    本地地址                 外部地址                状态              PID
TCP    0.0.0.0:25             0.0.0.0:0              LISTENING       12916

.........

TCP    0.0.0.0:9001           0.0.0.0:0              LISTENING       4

.........

提示PID为4

 

查看指定端口情况

D:\tools\nginx-1.8.0>netstat -ano | findstr "9001"
  TCP    0.0.0.0:9001           0.0.0.0:0              LISTENING       4
  TCP    [::]:9001              [::]:0                 LISTENING       4
C:\Users\oor>netstat -ano | findstr 0.0.0.0:9001
  TCP    0.0.0.0:9001           0.0.0.0:0              LISTENING       4

提示TCP端口为9001

 

尝试杀死TCP 9001端口

D:\tools\nginx-1.8.0>sudo fuser -k 9001/tcp
‘sudo‘ 不是内部或外部命令,也不是可运行的程序
或批处理文件。

都不对,到此有点糊涂了,所以换一种方式

 

用netsh这个命令查看下现用的http端口配置

查看HTTP 服务状态快照(服务器会话视图):

D:\tools\nginx-1.8.0>netsh http show servicestate

HTTP 服务状态快照(服务器会话视图):
-----------------------------------------------------

服务器会话 ID: FF00000120000001
版本: 2.0
状态: Active
属性:
最大带宽: 4294967295
超时:
实体正文超时(秒): 120
耗尽实体正文超时(秒): 120
请求队列超时(秒): 120
空闲连接超时(秒): 120
标头等待超时(秒): 120
最小发送速率(字节/秒): 150
URL 组:
URL 组 ID: FE00000140000001
状态: Active
请求队列名称: 请求队列尚未命名。
属性:
最大带宽: 已继承
最大连接数: 已继承
超时:
继承的超时值
已注册的 URL 数目: 1
已注册的 URL 数目:
HTTP://+:9001/IGCC/SERVICE/

请求队列:
请求队列名称: 请求队列尚未命名。
版本: 2.0
状态: Active
请求队列 503 详细级别: 基本
最大请求数目: 1000
附加活动进程数目: 1
进程 ID:
4908

 

果真找到了PID:4908

Windows系统非正常关机nginx报错:nginx: [error] OpenEvent("Global\ngx_stop_20448") failed (2: The system cannot find the file specified)

 看到上图的结果,恍然大悟!如果大家不确定那是一个什么进程,我们对它右键 - 打开文件所在位置

Windows系统非正常关机nginx报错:nginx: [error] OpenEvent("Global\ngx_stop_20448") failed (2: The system cannot find the file specified)

 

最后我去 services.msc 里停止他并设置这个服务为手动就搞定了

Windows系统非正常关机nginx报错:nginx: [error] OpenEvent("Global\ngx_stop_20448") failed (2: The system cannot find the file specified)

 

查看当前 9001 端口占用情况

D:\tools\nginx-1.8.0>netstat -ano | findstr 0.0.0.0:9001

D:\tools\nginx-1.8.0>

 

启动nginx 成功了

 Windows系统非正常关机nginx报错:nginx: [error] OpenEvent("Global\ngx_stop_20448") failed (2: The system cannot find the file specified)

 

 参考博文

Windows 下 80 端口被进程 System & PID=4 占用的解决方法

 

Windows系统非正常关机nginx报错:nginx: [error] OpenEvent("Global\ngx_stop_20448") failed (2: The system cannot find the file specified)

上一篇:C#:值类型变量和引用类型变量在内存中的存储方式


下一篇:Oracle中TO_DATE格式