>백엔드 개발 >PHP 튜토리얼 >PHP에서 쉘 명령을 어떻게 비동기적으로 실행할 수 있습니까?

PHP에서 쉘 명령을 어떻게 비동기적으로 실행할 수 있습니까?

DDD
DDD원래의
2024-12-11 13:43:101048검색

How Can I Asynchronously Execute Shell Commands in PHP?

쉘 명령을 비동기적으로 실행

출력을 파일로 리디렉션하고 백그라운드에서 명령을 실행하면 쉘 명령의 비동기 실행이 가능합니다. .

쉘 명령 실행 Shell_exec

shell_exec 함수는 명령줄 프로그램을 실행하고 그 출력을 반환합니다. 그러나 명령 실행이 완료될 때까지 PHP 스크립트를 차단합니다.

Shell_exec 없이 비동기 실행

차단하지 않고 명령을 비동기적으로 실행하려면 다음 트릭을 사용할 수 있습니다.

  1. 출력 리디렉션: 표준 출력을 리디렉션하고 /dev/null에 대한 명령의 표준 오류입니다. 이렇게 하면 PHP 스크립트에 출력이 표시되지 않습니다.
  2. 백그라운드에서 명령 실행: 백그라운드에서 실행되어야 함을 나타내려면 명령 끝에 &를 추가하세요.

예:

shell_exec('php measurePerformance.php 47 844 [email protected] > /dev/null 2>&1 &');

결합하여 이러한 기술을 사용하면 명령이 완료될 때까지 기다리지 않고 비동기적으로 명령을 실행할 수 있습니다. 이렇게 하면 쉘 명령 실행으로 인해 차단되지 않고 PHP 스크립트가 계속 실행될 수 있습니다.

위 내용은 PHP에서 쉘 명령을 어떻게 비동기적으로 실행할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.