top 또는 ps 에 보이는 php 프로세스명 변경 방법
- cli_set_process_title()
리눅스 환경에서 top 또는 ps 시 현재 실행 중인 프로세스 목록을 확인 할 수 있다.
그 중에 php로 실행된 파일들의 이름은 [php /.../exec.php] 처럼 php 가 어떤 파일을 실행시켰다. 라고 명세가 되어 이게 어떤 프로세스인지 구분하거나 프로세스명으로 제어하는 명령어를 사용하기 어렵다.
그래서 cli_set_process_title()을 사용하여 프로세스명을 변경하여 사용한다.
함수 정의
- top 및 ps 에서 보이는 프로세스의 이름을 변경한다. CLI에서만 동작한다.
cli_set_process_title(string $title): bool
예제 코드 : 프로세스명 변경 미적용
- 대상 : title.php
<?php
// filename : title.php
while( true ) {
sleep(1);
echo "sleep...";
}
?>
- 결과 : php ./test.php 로 실행된 프로세스를 확인할 수 있다.
muabow@muabow-WorkSpace:~$ ps -ef | grep php
root 1350 1 0 2021 ? 00:01:32 php-fpm: master process (/etc/php/7.0/fpm/php-fpm.conf)
www-data 1353 1350 0 2021 ? 00:00:00 php-fpm: pool www
www-data 1354 1350 0 2021 ? 00:00:00 php-fpm: pool www
muabow 18994 17677 0 08:49 pts/7 00:00:00 php ./title.php
muabow 18998 12291 0 08:49 pts/6 00:00:00 grep --color=auto php
예제 코드 : 프로세스명 변경 적용
cli_set_process_title()을 사용하여 sleep_echo 라는 프로세스명 지정
- 대상 : title.php
<?php
cli_set_process_title("sleep_echo");
while( true ) {
sleep(1);
echo "sleep...";
}
?>
- 결과 : php 로 검색결과 찾을 수 없고, sleep_echo 로 검색 시 프로세스명이 변경된 것을 확인할 수 있다.
muabow@muabow-WorkSpace:~$ ps -ef | grep php
root 1350 1 0 2021 ? 00:01:32 php-fpm: master process (/etc/php/7.0/fpm/php-fpm.conf)
www-data 1353 1350 0 2021 ? 00:00:00 php-fpm: pool www
www-data 1354 1350 0 2021 ? 00:00:00 php-fpm: pool www
muabow 19065 12291 0 08:57 pts/6 00:00:00 grep --color=auto php
muabow@muabow-WorkSpace:~$
muabow@muabow-WorkSpace:~$ ps -ef | grep sleep_echo
muabow 19044 17677 0 08:57 pts/7 00:00:00 sleep_echo
muabow 19067 12291 0 08:57 pts/6 00:00:00 grep --color=auto sleep_echo
muabow@muabow-WorkSpace:~$
https://www.php.net/manual/en/function.cli-set-process-title.php
끝.
'IT > web' 카테고리의 다른 글
[PHP] curl GET/POST Rest API 인증, 요청 및 JSON 응답 처리 방법 (0) | 2022.01.06 |
---|---|
[javascript] javascript IP 주소, 포트 유효성 검사 예제 (2) | 2022.01.05 |
[PHP] php error 메시지 출력 방법 (0) | 2021.12.31 |
[PHP] array_walk_recursive와 배열 순회 탐색 소스코드 공유 (0) | 2021.12.28 |
[PHP] file_exists()에 공백이 포함되었을 때 해결 방안 (0) | 2021.12.27 |
댓글