백그라운드에서 PHP를 실행하는 모범 사례는 무엇입니까?

백그라운드에서 PHP를 실행하는 모범 사례는 무엇입니까?

명령줄에서 다음 명령을 실행하면 fg 명령을 실행할 때까지 일시 중지됩니다.

/usr/bin/php -r 'phpinfo();' &

PHP 코드가 shebang에 포함되어 있는지 여부에 관계없이 #!/usr/bin/php.

저는 CentOS와 bash 쉘을 실행하고 있습니다.

답변1

백그라운드에서 작업을 실행하기 위한 PHP 전용 메서드는 없습니다. 널리 사용되는 방법은 다음과 같습니다.

  1. 하나를 사용하십시오 screen. 설치한 screen다음(아직 설치되지 않은 경우) 화면에서 PHP 스크립트를 실행합니다. screen언제든지 컴퓨터 연결을 해제하고 로그오프할 수 있으며 스크립트는 계속 실행됩니다.여기사용 방법에 대한 수백 가지 정보가 온라인으로 제공됩니다 screen.

  2. 사용 nohup. 사용법은 다음과 같습니다:

nohup <yourPHPcommand> &

이렇게 하면 로그아웃할 때 nohup스크립트가 HANGUP 신호에 "아니요"라고 응답하게 되므로 로그아웃한 후에도 PHP 스크립트는 계속 실행됩니다. 유일한 문제는 해당 작업/프로세스를 전경으로 가져오고 출력을 볼 수 없다는 것입니다(중요한 경우). 출력을 파일로 리디렉션하고 해당 파일에서 인쇄된 내용을 확인할 수 있습니다.

위의 두 가지 중 를 사용하는 것이 좋습니다 screen. 포그라운드에서 실행할 때와 마찬가지로 항상 화면에 연결하여 프로세스를 제어할 수 있습니다.

추신: - 끝에 "&"가 있는 스크립트를 실행하면 &백그라운드로 들어가지만 터미널에서 로그아웃하면 스크립트/프로세스가 종료됩니다.

관련 정보