>백엔드 개발 >PHP 튜토리얼 >차단하지 않고 PHP에서 쉘 명령을 비동기적으로 실행하려면 어떻게 해야 합니까?

차단하지 않고 PHP에서 쉘 명령을 비동기적으로 실행하려면 어떻게 해야 합니까?

Linda Hamilton
Linda Hamilton원래의
2024-12-06 14:37:12738검색

How Can I Asynchronously Execute Shell Commands in PHP Without Blocking?

셸 명령의 비동기 실행

PHP 스크립트에서 리소스 집약적인 작업을 처리할 때 백그라운드에서 실행하여 다음 작업을 수행하는 것이 바람직한 경우가 많습니다. 다른 코드의 실행을 차단하지 마세요. 셸 명령을 실행하는 일반적인 방법 중 하나는 shell_exec이지만 일반적으로 스크립트는 명령이 완료될 때까지 기다려야 합니다.

완료될 때까지 기다리지 않고 셸 명령을 실행하려면 백그라운드 실행 기술을 활용할 수 있습니다. 이는 셸 명령의 표준 출력 및 표준 오류 스트림을 null 장치로 리디렉션하여 달성됩니다.

다음 PHP 코드를 고려하세요.

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

이 코드에서는 다음 전략을 사용합니다. :

  • 우리는 > /dev/null은 명령의 표준 출력을 null 장치로 리디렉션하여 효과적으로 폐기합니다.
  • 2>/dev/null을 사용하여 명령의 표준 오류를 다른 null 장치로 리디렉션하고 다시 폐기합니다. 모든 오류 메시지.
  • 마지막으로 & 명령이 끝나면 백그라운드에서 실행할 수 있습니다.

이 기술을 사용하면 쉘 명령을 비동기적으로 생성하여 명령이 완료될 때까지 기다리지 않고 PHP 스크립트를 계속 실행할 수 있습니다.

위 내용은 차단하지 않고 PHP에서 쉘 명령을 비동기적으로 실행하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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