Windows에서 Apache를 다시 시작하는 Perl 스크립트

Windows에서 Apache를 다시 시작하는 Perl 스크립트

이것이 내 Perl 스크립트 내에서 Apache를 다시 시작하는 데 필요한 전부입니까?

system("C:\\Apache24\\bin\\httpd.exe -k restart");

이것이 실제로 Apache를 다시 시작하는지 확인하려고 했지만 Apache 로그 파일을 찾을 수 없습니다. Windows 작업 관리자의 서비스 태그를 보면 Apache 서비스가 갱신된 PID 번호를 얻지 못했습니다. 또한 Windows 컴퓨터 관리 > 시스템 도구 > 이벤트 뷰어 > Windows 로그 탭에서 Apache가 다시 시작했는지 암시할 수 있는 활동을 볼 수 있는지 확인했지만 활동을 찾지 못했습니다. 이제 이 코드가 작동하는지 확실하지 않습니다.

그냥 할 수 있을 것 같아

system("C:\\Apache24\\bin\\httpd.exe -k stop");

그리고 그게 아파치를 죽였는지 확인해 보세요...


업데이트: 내 cmd 창에서 중지하려고 시도했지만

(OS 5)액세스가 거부되었습니다. : AH10014: 'Apache2.4' 서비스를 열지 못했습니다.

... 상승된 관리자: 명령 프롬프트 창에서 실행되고 있지 않다는 것을 알게 되었습니다. 따라서 아마도 Perl 스크립트에는 해당 명령을 실행할 권한이 없었을 것입니다.

답변1

이 Perl 스크립트는 다음과 같이 작동합니다.

system("C:\\Apache24\\bin\\httpd.exe -k restart");

그러나 관리/상승된 cmd에서 실행되는 경우에만 해당됩니다.

관련 정보