PHP 프로그램 데 몬 구현 방법 에 대한 자세 한 설명
PHP 명령 행 프로그램 이 데 몬 을 처리 하 는 방법 은 두 가지 가 있 습 니 다.
nohup 사용
nohup php myprog.php > log.txt &
데 몬 프로 세 스 화 를 실현 합 니 다.php myprog.php 를 단독으로 실행 합 니 다.ctrl+c 를 누 르 면 프로그램 실행 이 중단 되 고 현재 프로 세 스 와 하위 프로 세 스 를 kill 합 니 다.
php myprog.php&,이렇게 실행 하 는 프로그램 도 백 엔 드 로 전환 되 어 실행 되 지만,실제로는 터미널 에 의존 하 며,사용자 가 터미널 을 종료 할 때 프로 세 스 가 죽 습 니 다.
2.PHP 코드 를 사용 하여 구현
function daemonize() {
$pid = pcntl_fork();
if ($pid == -1) {
die("fork(1) failed!
");
}
elseif($pid > 0) {
//
exit(0);
}
// session
posix_setsid();
$pid = pcntl_fork();
if ($pid == -1) {
die("fork(2) failed!
");
}
elseif($pid > 0) {
// ,
exit(0);
}
}
daemonize();
sleep(1000);
위의 코드 를 사용 하면 수호 프로 세 스 화 를 실현 할 수 있 습 니 다.PHP 프로그램 이 배경 으로 실행 되 어야 할 때 봉 인 된 함수 daemonize()를 한 번 만 호출 하면 됩 니 다.주:표준 입 출력 의 방향 을 바 꾸 지 않 았 습 니 다.
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
laravel에 yo에서 angularJs&coffeescript를 사용할 수 있도록 한다.먼저 yo 명령을 사용할 수 있어야하므로 아래에서 설치 global에 설치한 곳에서 laravel의 프로젝트 루트로 이동. 클라이언트 코드를 관리하는 디렉토리를 만들고 이동합니다. 클라이언트 환경 만들기 이것으로 히...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.