httpd를 다시 시작하면 PHP에서 실행된 스크립트가 종료됩니다.

httpd를 다시 시작하면 PHP에서 실행된 스크립트가 종료됩니다.

내 게임 서버에는 사용자 정의 PHP 관리 인터페이스가 있으며 시작 셸 스크립트를 사용하고 실행하여 exec서버를 수동으로 실행할 수 있습니다 sudo -E. 그러나 restart httpd 를 사용하면 service httpd restart스크립트와 실제 게임 서버도 종료됩니다. 웹 서버만 종료되도록 이 동작을 변경하거나 게임 서버를 실행하려면 어떻게 해야 합니까?

답변1

나는 게임 서버를 소유 및 제어하고 외부 세계에 웹 서비스를 제공하는 Perl 데몬을 작성하여 게임 서버의 이 문제를 해결한 적이 있습니다. 간단하지만 효과적인.

답변2

웹 페이지(PHP 스크립트)를 방문하면 httpd 서버 프로세스의 인스턴스(하위 프로세스)에 의해 콘텐츠가 전송됩니다. httpd 서버를 다시 시작하면 스크립트는 서버에 종료를 알리고 스크립트 자체를 실행하는 PHP 인스턴스를 포함하여 모든 하위 프로세스도 종료됩니다.기본적으로 이 스크립트는 실제로 자살을 하고 있습니다.

사용해 보세요"apachectl -k 우아함"이렇게 하면 서버가 정상적으로 다시 시작됩니다. 즉, 서버 프로세스만 다시 시작되지만 현재 세션은 완료될 수 있습니다. 스크립트가 사라지면 안 됩니다.

관련 정보