>백엔드 개발 >PHP 문제 >PHP에서 스크립트를 설정하고 프로세스 이름을 얻는 방법

PHP에서 스크립트를 설정하고 프로세스 이름을 얻는 방법

醉折花枝作酒筹
醉折花枝作酒筹원래의
2021-06-11 18:06:271995검색

이 글에서는 PHP에서 스크립트를 설정하고 프로세스 이름을 얻는 방법을 소개합니다. 도움이 필요한 친구들이 모두 참고할 수 있기를 바랍니다.

PHP에서 스크립트를 설정하고 프로세스 이름을 얻는 방법

PHP 스크립트 설정 및 프로세스 이름 가져오기

오늘 배울 내용은 매우 간단한 두 가지 함수이며, 그 중 하나는 스크립트를 실행할 때 실행되는 프로세스의 이름을 설정하는 데 사용할 수 있습니다. 다른 하나는 현재 실행 중인 프로세스의 이름을 가져오는 것입니다. 이 두 함수는 다수의 스크립트 실행 코드에 매우 유용합니다. 예를 들어 프로세스를 종료해야 할 경우 정의한 프로세스 이름을 직접 사용하여 작업을 수행할 수 있습니다.

프로세스 이름 설정

cli_set_process_title("test");

매우 간단합니다. 매개변수는 정의할 변수 이름이 하나만 있으면 됩니다. 실행 후 sleep()을 사용하여 일정 시간 동안 프로그램이 마운트되도록 한 다음 터미널을 열어 현재 프로세스 정보를 봅니다.

ps -ef | grep test
# root     32172 31511  0 09:03 pts/0    00:00:00 test

top -p 32172 -c
# 32198 root      20   0  113100  18052  13088 S   0.0   0.2   0:00.00 test

ps를 사용하든 top을 사용하든 test라는 해당 프로세스를 볼 수 있는 것을 볼 수 있습니다. 이로써 프로세스 이름의 사용자 정의가 완료되었습니다.

프로세스 이름 가져오기

echo "Process title: " . cli_get_process_title() . "\n";
// Process title: test

마찬가지로 현재 프로세스 이름을 가져오는 함수도 매우 간단합니다. 직접 호출하면 됩니다. 일반적으로 현재 스크립트를 실행 중인 프로세스의 이름이 출력됩니다.

맞춤형 프로세스 이름이 없으면 어떻게 되나요? 여기에는 출력이 없으므로 직접 시도해 볼 수 있습니다.

Notes

마지막으로 이 두 가지 기능에 대한 참고 사항에 대해 이야기해 보겠습니다.

먼저 Mac OS 시스템을 사용하는 경우 다음과 같은 메시지가 표시됩니다.

// Warning: cli_set_process_title(): cli_set_process_title had an error: Not initialized correctly

즉, 이 두 기능은 Mac에서는 정상적으로 사용할 수 없습니다. 내 테스트 환경은 CentOS이며 정상적으로 사용할 수 있습니다. Windows 환경은 테스트되지 않았습니다. 일반적인 상황에서는 Windows 환경에서 백그라운드로 스크립트를 실행하는 사람이 거의 없으므로 관심 있는 학생들이 직접 테스트할 수 있습니다.

둘째, 프로세스 이름은 중국어로 가능해요! ! ! 매우 고귀한 느낌이 들지 않습니까?

셋째, 이 두 기능은 CLI 실행 환경에만 해당됩니다. 즉, CGI 웹페이지가 정상적으로 실행되는 경우에는 이 두 기능은 아무런 효과가 없습니다.

테스트 코드:

https://github.com/zhangyue0503/dev-blog/blob/master/php/202005/source/PHP%E8%84%9A%E6%9C%AC%E8%AE%BE%E7%BD%AE%E5%8F%8A%E8%8E%B7%E5%8F%96%E8%BF%9B%E7%A8%8B%E5%90%8D.php

추천 학습: php 비디오 튜토리얼

위 내용은 PHP에서 스크립트를 설정하고 프로세스 이름을 얻는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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