mqtt 및 기타 통신 기록을 가져와 데이터베이스에 저장하는 PHP 서비스 스크립트를 만듭니다. 일반적으로 코드를 실행하고 데이터를 캡처하려면 서버 측에서 터미널만 열면 됩니다. 그러나 터미널을 닫은 후에는 데이터를 캡처할 수 없습니다. 데몬은 항상 백그라운드에서 실행되는 프로세스입니다. 터미널 없이 백그라운드에서 독립적으로 실행될 수 있습니다.
1. 우분투에서는 일반적인 방법으로 다음 코드를 서비스 스크립트로 실행합니다.
php run.php
이렇게 하면 혼자서 터미널을 점유해서 실행할 수 있습니다. 하지만 터미널을 사용하여 다른 작업을 수행할 수는 없습니다.
2. 다음과 같이 명령 끝에 &를 추가합니다.
php run.php &
명령 끝에 & 기호를 추가하는 한 시작된 프로세스는 "백그라운드 작업"이 됩니다. 실행 중인 "포그라운드 작업"을 "백그라운드 작업"으로 변경하려면 먼저 ctrl + z를 누른 다음 bg 명령을 실행하면 됩니다(가장 최근에 일시 중지된 "백그라운드 작업"의 실행을 계속하려면). fg
를 입력하고 Enter를 눌러 일반 모드로 전환할 수도 있습니다.
"백그라운드 작업"에는 두 가지 기능이 있습니다:
현재 세션(대화)의 표준 출력(stdout) 및 표준 오류(stderr)를 상속합니다. 따라서 백그라운드 작업의 모든 출력은 여전히 명령줄에 동기적으로 표시됩니다.
현재 세션의 표준 입력(stdin)은 더 이상 상속되지 않습니다. 이 임무에서는 더 이상 명령을 입력할 수 없습니다. 표준 입력을 읽으려고 하면 실행이 중단됩니다.
보시다시피, "백그라운드 작업"과 "포그라운드 작업" 사이에는 표준 입력을 상속할지 여부라는 단 하나의 본질적인 차이점이 있습니다. 따라서 사용자는 백그라운드 작업을 수행하는 동안 다른 명령을 입력할 수도 있습니다.
일 -FN 50 NOHUP.OUP.OUT
관련 권장 사항 :
위 내용은 우분투에서 백그라운드 PHP 서비스 실행에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!