nginx: [error] OpenEvent(“Global\ngx

03-26 8678阅读 0评论

Windows上的nginx停止失败,因为Access被拒绝

Windows,在cmd窗口使用命令nginx.exe -s stop停止nginx,报以下错误:

nginx: [error] OpenEvent(“Global\ngx_stop_15792”) failed (5: Access is denied)

nginx: [error] OpenEvent(“Global\ngx 第1张

1、报错使用场景

主要是想通过Java做一个Windows的控制面板,来控制这些中间件的开启和停止;

Java代码执行nginx.exe -s stop和cmd窗口执行报错一致。

2、异常原因

从异常的信息中可以看到是访问被拒绝,是权限不足,然后使用管理员运行cmd窗口,再次使用nginx命令,即可打开nginx服务

3、解决方案

Windows关闭nginx的操作主要有以下几种,由于我是代码操作,所以使用的是第三种解决方法。

1、任务管理器

Ctrl + Alt + Del 键打开任务管理器面板,点击对应的nginx.exe进程(多个),结束相关任务即可。

nginx: [error] OpenEvent(“Global\ngx 第2张

2、cmd命令查询nginx.exe进程号,逐个进行杀进程操作
  • Win + R键打开cmd窗口,输入tasklist | findstr nginx.exe命令,查询正在运行的nginx进程;
  • 然后再使用taskkill /PID /F杀死Nginx进程 将PID替换为你要杀死的Nginx进程的PID。例如,如果Nginx进程的PID是19452,那么命令将是下面那个图;
  • 注意:正常情况下,nginx运行时应该只有2个nginx进程

    (1个master进程,1个worker进程(默认配置是1个))。

    nginx: [error] OpenEvent(“Global\ngx 第3张

    3、Java代码层面,使用的也是杀进程的原理

    根据进程名来杀掉nginx即可,

    如果权限够执行stop命令的可以使用代码段2。

    代码段1

    private static void stopNginx() {
       try {
           // 停止Nginx服务的命令
           String nginxProcessName = "nginx.exe";
           String taskKillCommand = "taskkill /F /IM " + nginxProcessName;
           Process taskKillProcess = Runtime.getRuntime().exec(taskKillCommand);
           int taskKillExitCode = taskKillProcess.waitFor();
           System.out.println("Nginx服务已停止");
       } catch (IOException | InterruptedException e) {
           e.printStackTrace();
       }
    }
    

    代码段2

    nginx.exe -s stop

    private static void stopNginx() {
        try {
            // 停止Nginx服务的命令
            String nginxCommand = "F:\programming\gaoshan\innosetup\workspace\nginx-1.22.1\nginx.exe -s stop";
            Process nginxProcess = Runtime.getRuntime().exec(nginxCommand);
            int nginxExitCode = nginxProcess.waitFor();
            System.out.println("Nginx服务已停止");
        } catch (IOException | InterruptedException e) {
            e.printStackTrace();
        }
    }
    

免责声明
1、本网站属于个人的非赢利性网站,转载的文章遵循原作者的版权声明。
2、本网站转载文章仅为传播更多信息之目的,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所
提供信息的准确性及可靠性,但不保证信息的正确性和完整性,且不对因信息的不正确或遗漏导致的任何
损失或损害承担责任。
3、任何透过本网站网页而链接及得到的资讯、产品及服务,本网站概不负责,亦不负任何法律责任。
4、本网站所刊发、转载的文章,其版权均归原作者所有,如其他媒体、网站或个人从本网下载使用,请在
转载有关文章时务必尊重该文章的著作权,保留本网注明的“稿件来源”,并白负版权等法律责任。

手机扫描二维码访问

文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

发表评论

快捷回复: 表情:
评论列表 (暂无评论,8678人围观)

还没有评论,来说两句吧...

目录[+]