개발 꿀팁/PHP

PHP 구현 데몬 방식, 리눅스 백그라운드 실행

Jammie 2022. 11. 2. 15:08
반응형

백그라운드 실행 프로그램 사용:

결과가 단말기로 출력됩니다

Ctrl+C를 사용하여 SIGINT 신호 전송, 프로그램 면역

세션 종료 SIGHUP 신호 전송, 프로그램 종료

nohup을 사용하여 프로그램 실행:

결과는 기본적으로 nohup.out으로 출력됩니다

Ctrl + C를 사용하여 SIGINT 신호 전송, 프로그램 종료

session을 끄고 SIGHUP 신호를 보내면 프로그램 면역

1. 백그라운드 프로세스 명령 후 추가 & 프로그램 백그라운드 실행, 단말기는 다른 작업을 계속할 수 있습니다.
단점: 의존 단말기

이때 fg 명령을 사용하여 전면 패널 실행을 재개할 수 있습니다

ps: 백그라운드 프로세스는 터미널에서 완전히 벗어나지 않습니다. 터미널이 닫히기 전에 결과를 터미널로 출력합니다. 셸이 종료되면 백그라운드 프로그램이 중지됩니다.

2. 데몬 nohup 명령
단점:단말기 점유

용도 : 명령어를 끊지 않고 실행하며, 단말기 ssh가 꺼져도 계속 실행한다.

문법: nohup command [arg...] [ &]

nohup은 프로그램의 표준 출력을 현재 디렉터리에 있는 nohup.out 파일에 씁니다. 쓰기 권한이 없으면 $HOME에 씁니다

단말기를 닫고, 새로 열었는데, 프로세스가 계속 진행 중입니다

프로세스 보기

ps-ef | greptime.php

3.nohup과 &를 결합하여 단말기를 차지하거나 의존하지 않음

nohup php /www/wwwroot/hb/application/common/pusb.php &

jobs -l 

백그라운드 프로세스 닫기
방법 1: kill 사용

jobs-l

킬-9 피드



방법 2: fg를 백그라운드로 자른 다음 Ctrl+c

fg

 

반응형