내 게임 서버에는 사용자 정의 PHP 관리 인터페이스가 있으며 시작 셸 스크립트를 사용하고 실행하여 exec
서버를 수동으로 실행할 수 있습니다 sudo -E
. 그러나 restart httpd 를 사용하면 service httpd restart
스크립트와 실제 게임 서버도 종료됩니다. 웹 서버만 종료되도록 이 동작을 변경하거나 게임 서버를 실행하려면 어떻게 해야 합니까?
답변1
나는 게임 서버를 소유 및 제어하고 외부 세계에 웹 서비스를 제공하는 Perl 데몬을 작성하여 게임 서버의 이 문제를 해결한 적이 있습니다. 간단하지만 효과적인.
답변2
웹 페이지(PHP 스크립트)를 방문하면 httpd 서버 프로세스의 인스턴스(하위 프로세스)에 의해 콘텐츠가 전송됩니다. httpd 서버를 다시 시작하면 스크립트는 서버에 종료를 알리고 스크립트 자체를 실행하는 PHP 인스턴스를 포함하여 모든 하위 프로세스도 종료됩니다.기본적으로 이 스크립트는 실제로 자살을 하고 있습니다.
사용해 보세요"apachectl -k 우아함"이렇게 하면 서버가 정상적으로 다시 시작됩니다. 즉, 서버 프로세스만 다시 시작되지만 현재 세션은 완료될 수 있습니다. 스크립트가 사라지면 안 됩니다.