>헤드라인 >Weibo Qzone WeChat pcntl_fork는 PHP 다중 프로세스를 구현합니다.

Weibo Qzone WeChat pcntl_fork는 PHP 다중 프로세스를 구현합니다.

小云云
小云云원래의
2017-11-03 13:57:331962검색

PHP 엔지니어는 일반적으로 PHP-FMP를 사용하여 PHP 프로세스를 예약합니다. PHP의 사용은 웹에만 국한되지 않고 프로그래밍 시스템 도구, 모니터링 또는 운영 및 유지 관리에도 사용할 수 있습니다. 다음으로 PHP 다중 프로세스 프로그래밍을 구현하는 방법에 대해 이야기하겠습니다.

먼저 구성 정보를 읽는 데 사용되는 메인 프로세스를 시작합니다

예를 들어 5개의 지표를 모니터링해야 한다고 읽었습니다. 다음으로, 기본 프로세스는 5개의 하위 프로세스를 시작하여 이 5개의 지표를 각각 모니터링합니다.

작업 단순화: 하나의 메인 프로세스가 5개의 하위 프로세스를 생성합니다.

프로세스를 생성하려면 PHP에서 pcntl_fork() 함수를 사용해야 합니다. 일부 사람들은 이 함수에 익숙하지 않을 수도 있지만, 이 함수에 노출된 모든 사람은 Linux C 프로그래밍은 Linux를 알고 있습니다. 아래에 자식 프로세스를 생성하는 데 사용되는 fork()라는 함수가 있습니다.

이 기능은 Linux에서만 사용할 수 있으며 pcntl 확장 프로그램을 설치해야 한다는 점에 유의하세요.

공식 문서에 따르면

pcntl_fork() 함수는 하위 프로세스를 생성합니다. 이 하위 프로세스는 PID(프로세스 번호) 및 PPID(상위 프로세스 번호)만 상위 프로세스와 다릅니다. 시스템에서 포크가 작동하는 방식에 대한 자세한 내용은 시스템의 fork(2) 설명서를 참조하세요.

성공하면 생성된 자식 프로세스의 PID가 부모 프로세스 실행 스레드에 반환되고, 자식 프로세스 실행 스레드에는 0이 반환됩니다. 실패하면 상위 프로세스 컨텍스트에 -1이 반환되고 하위 프로세스가 생성되지 않으며 PHP 오류가 발생합니다.

이렇게 하면 자식 프로세스가 성공적으로 생성된 후 pcntl_fork() 이후의 메서드가 실행됩니다.


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