결과를 기다리지 않고 PHP 명령 실행
PHP에서 exec()를 사용하여 명령을 실행하면 일반적으로 명령이 완료될 때까지 스크립트가 대기하게 됩니다. . 그러나 명령을 비동기적으로 실행하여 결과를 기다리지 않고 스크립트를 진행할 수 있는 방법이 있습니다.
문서에서는 표준 출력과 표준 오류를 모두 /dev/null로 리디렉션한 다음 백그라운드로 실행할 수 있다고 설명합니다. 이를 달성하기 위한 명령:
> /dev/null 2>&1 &
이것은 명령이 PHP를 차단하는 출력을 생성하지 않도록 보장합니다. script.
또는 완전히 독립적인 프로세스를 시작하려면 다음 명령을 사용할 수 있습니다.
exec('bash -c "exec nohup setsid your_command > /dev/null 2>&1 &"');
이 명령은 지정된 명령을 실행하는 새로운 Bash 셸을 생성합니다. 프로세스는 현재 Apache 스레드에서 분리되어 페이지가 종료되더라도 계속 실행됩니다.
위 내용은 스크립트를 차단하지 않고 PHP 명령을 비동기적으로 실행하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!