>  기사  >  백엔드 개발  >  우분투에서 백그라운드 PHP 서비스 실행에 대한 자세한 설명

우분투에서 백그라운드 PHP 서비스 실행에 대한 자세한 설명

小云云
小云云원래의
2018-03-10 13:51:053093검색


mqtt 및 기타 통신 기록을 가져와 데이터베이스에 저장하는 PHP 서비스 스크립트를 만듭니다. 일반적으로 코드를 실행하고 데이터를 캡처하려면 서버 측에서 터미널만 열면 됩니다. 그러나 터미널을 닫은 후에는 데이터를 캡처할 수 없습니다. 데몬은 항상 백그라운드에서 실행되는 프로세스입니다. 터미널 없이 백그라운드에서 독립적으로 실행될 수 있습니다.

포그라운드 작업 및 백그라운드 작업

1. 우분투에서는 일반적인 방법으로 다음 코드를 서비스 스크립트로 실행합니다.

php run.php

이렇게 하면 혼자서 터미널을 점유해서 실행할 수 있습니다. 하지만 터미널을 사용하여 다른 작업을 수행할 수는 없습니다.

2. 다음과 같이 명령 끝에 &를 추가합니다.

php run.php &

명령 끝에 & 기호를 추가하는 한 시작된 프로세스는 "백그라운드 작업"이 됩니다. 실행 중인 "포그라운드 작업"을 "백그라운드 작업"으로 변경하려면 먼저 ctrl + z를 누른 다음 bg 명령을 실행하면 됩니다(가장 최근에 일시 중지된 "백그라운드 작업"의 실행을 계속하려면). fg를 입력하고 Enter를 눌러 일반 모드로 전환할 수도 있습니다.

"백그라운드 작업"에는 두 가지 기능이 있습니다:
현재 세션(대화)의 표준 출력(stdout) 및 표준 오류(stderr)를 상속합니다. 따라서 백그라운드 작업의 모든 출력은 여전히 ​​명령줄에 동기적으로 표시됩니다.
현재 세션의 표준 입력(stdin)은 더 이상 상속되지 않습니다. 이 임무에서는 더 이상 명령을 입력할 수 없습니다. 표준 입력을 읽으려고 하면 실행이 중단됩니다.
보시다시피, "백그라운드 작업"과 "포그라운드 작업" 사이에는 표준 입력을 상속할지 여부라는 단 하나의 본질적인 차이점이 있습니다. 따라서 사용자는 백그라운드 작업을 수행하는 동안 다른 명령을 입력할 수도 있습니다.

일 -FN 50 NOHUP.OUP.OUT

관련 권장 사항 :

UBUNTU PHP5에서 PHP5.6.32 UBUNTU에서 PHP 환경 구축 방법을 완료하기 위해 PHP5.6.32 PHP 55.6.32 PHP 구축에 관한 PHP를 완료합니다. 우분투 개발 환경 예제 튜토리얼

위 내용은 우분투에서 백그라운드 PHP 서비스 실행에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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