質問: ### 前提・実現したいこと 実現したいこと: stableのnginx1.1.4(windows)をインストールし、nginxを起動しました。起動は出来て、localhostでもWelcome to nginx!が表示されています。しかし、nginx -s quitコマンドで停止できなくて困っています。キルプロセス(taskkill)も試したのですが、再度netstatコマンドで確かめると別のプロセスIDでnginxが動いているような状態です。解決方法をご教授お願いいたします。 ### 発生している問題・エラーメッセージ ``` > nginx -s stop nginx: [error] CreateFile() "C:\nginx/logs/nginx.pid" failed (2: The system cannot find the file specified) > nginx.exe -s quit nginx: [error] CreateFile() "C:\nginx/logs/nginx.pid" failed (2: The system cannot find the file specified) > nginx -s quit nginx: [error] CreateFile() "C:\nginx/logs/nginx.pid" failed (2: The system cannot find the file specified) ``` ### 試したこと ``` >netstat -ano | findstr 0.0.0.0:80 // 上記コマンドで表示されたプロセスIDをキル > taskkill /pid 27496 /f 成功:PID 27496のプロセスは強制終了されました。 >netstat -ano | findstr 0.0.0.0:80 // 別のプロセスidで80番ポートが動いている... ``` ### 補足情報(FW/ツールのバージョンなど) Windows7 (32bit) nginx1.1.4(stable)
回答: 通常 `nginx.pid` には稼働しているPIDが書かれていますが、存在しないために停止コマンドでは停止できていないようです。 以下のコマンドはいかがでしょうか? `taskkill /f /im nginx.exe`