[PHP]进程篇_PHP

Jun 01, 2016 pm 12:35 PM
grep perl 구현하다 프로그램 프로세스

最近写了一个 监控在线进程的程序.

目的是为了 能实时监控执行程序是否断线,并及时重启。

用PHP写的,不算难,还成,但对于自己来讲挺有成就感的。

程序部分略省。

#将perl进程指向到一个文本中。  $psfile
$command = "ps ax | grep perl | grep -v \"> $psfile\" >$psfile";
exec($command);

 $process_array = file($psfile);   #打开文本
 $sum_process = sizeof($process_array);  #文本的每一行作为数组元素,此sizeof 则是 取元素个,即行数。

for ($i=0 ; $i  {
  echo $process_array[$i]."\n";                                 #$process_array[$i]  为文本中i行的记录
  echo $province_id[$PID]."\n";  
   if(strstr($process_array[$i],$province_id[$PID]))    # 对比是否存在进程
   {
    echo "有进程\n";
    $thread=1;
    break;
   }
   
 }


$command = "perl ".$program." > ".$phppath.$name."abc.txt &";   #重起进程命令
 system($command);  #重起进程

 特别说明:

1. 命令 ps ax | grep perl | grep -v "> $psfile" >$psfile 

    很奇怪: ps ax|grep perl > abc.dat (命令正确) 在sh里执行 与 用PHP 执行 输出结果会不同,所以需要加入 一个 管道  | grep -v "> $psfile"  就可以。大致作用是-v 不匹配$psfile  而且其他的输出。 具体原因不明挺奇怪的。

2. system() 函数

    PHP的此函数有个毛病 ~ 是执行时,它必须把当前的进程程序执行完后才会跳出,继续循环下一个需要重启的程序,就是说 如果有多个进程需要重启的话,那么此函数只能是一直等待 当前的进程程序执行完,才能重启下一个。。。。。。。。。。。。(汗颜)

解决方案:  将命令 写成后由后台执行。  就是---》 多加一个  &  (别小看这个~ 可解决了大问题)

例 : perl abc.pl > abc.dat & 

OK~

大功告成! ~^-^~

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

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

iPhone에서 Google 지도를 기본 지도로 설정하는 방법 iPhone에서 Google 지도를 기본 지도로 설정하는 방법 Apr 17, 2024 pm 07:34 PM

iPhone의 기본 지도는 Apple의 독점 위치 정보 제공업체인 지도입니다. 지도가 점점 좋아지고 있지만 미국 이외의 지역에서는 잘 작동하지 않습니다. Google 지도와 비교하면 아무것도 제공할 수 없습니다. 이 기사에서는 Google 지도를 사용하여 iPhone의 기본 지도로 만드는 실행 가능한 단계에 대해 설명합니다. iPhone에서 Google 지도를 기본 지도로 설정하는 방법 Google 지도를 휴대전화의 기본 지도 앱으로 설정하는 것은 생각보다 쉽습니다. 아래 단계를 따르십시오. – 전제 조건 단계 – 휴대폰에 Gmail이 설치되어 있어야 합니다. 1단계 – AppStore를 엽니다. 2단계 – “Gmail”을 검색하세요. 3단계 - Gmail 앱 옆을 클릭하세요.

explorer.exe 프로세스가 무엇인지 설명하세요. explorer.exe 프로세스가 무엇인지 설명하세요. Feb 18, 2024 pm 12:11 PM

explorer.exe는 어떤 프로세스인가요? 우리는 Windows 운영체제를 사용하다 보면 "explorer.exe"라는 용어를 자주 듣게 됩니다. 이 기사에서는 explorer.exe 프로세스가 무엇인지, 그 기능과 효과에 대해 자세히 설명합니다. 우선 explorer.exe는 Windows 운영체제의 핵심 프로세스로 Windows 탐색기(Window)를 관리하고 제어하는 ​​역할을 합니다.

ccsvchst.exe는 어떤 프로세스인가요? ccsvchst.exe는 어떤 프로세스인가요? Feb 19, 2024 pm 11:33 PM

ccsvchst.exe는 SEP(Symantec Endpoint Protection) 소프트웨어의 일부인 공통 프로세스 파일이며, SEP는 잘 알려진 네트워크 보안 회사인 Symantec이 개발한 엔드포인트 보호 솔루션입니다. 소프트웨어의 일부로 ccsvchst.exe는 SEP 관련 프로세스를 관리하고 모니터링하는 역할을 담당합니다. 먼저 SymantecEndpointProtection(

iPhone에 시계 앱이 없습니다. 해결 방법 iPhone에 시계 앱이 없습니다. 해결 방법 May 03, 2024 pm 09:19 PM

휴대폰에 시계 앱이 없나요? 날짜와 시간은 iPhone의 상태 표시줄에 계속 표시됩니다. 그러나 시계 앱이 없으면 세계 시계, 스톱워치, 알람 시계 및 기타 여러 기능을 사용할 수 없습니다. 따라서 누락된 시계 앱을 수정하는 것이 해야 할 일 목록의 맨 위에 있어야 합니다. 이러한 솔루션은 이 문제를 해결하는 데 도움이 될 수 있습니다. 수정 1 - 시계 앱 배치 실수로 홈 화면에서 시계 앱을 제거한 경우 시계 앱을 다시 제자리에 배치할 수 있습니다. 1단계 – iPhone을 잠금 해제하고 앱 라이브러리 페이지에 도달할 때까지 왼쪽으로 스와이프합니다. 2단계 – 다음으로 검색창에 “시계”를 검색하세요. 3단계 – 검색 결과 아래에 “시계”가 표시되면 길게 누르고

C++로 간단한 카운트다운 프로그램을 작성하는 방법은 무엇입니까? C++로 간단한 카운트다운 프로그램을 작성하는 방법은 무엇입니까? Nov 03, 2023 pm 01:39 PM

C++는 카운트다운 프로그램을 작성하는 데 매우 편리하고 실용적인 프로그래밍 언어로 널리 사용됩니다. 카운트다운 프로그램은 매우 정확한 시간 계산 및 카운트다운 기능을 제공할 수 있는 일반적인 애플리케이션입니다. 이 기사에서는 C++를 사용하여 간단한 카운트다운 프로그램을 작성하는 방법을 소개합니다. 카운트다운 프로그램 구현의 핵심은 타이머를 사용하여 시간의 경과를 계산하는 것입니다. C++에서는 time.h 헤더 파일의 함수를 사용하여 타이머 함수를 구현할 수 있습니다. 다음은 간단한 카운트다운 프로그램의 코드입니다.

Linux에서 좀비 프로세스를 올바르게 종료하는 방법 Linux에서 좀비 프로세스를 올바르게 종료하는 방법 Feb 19, 2024 am 10:40 AM

Linux 시스템에서 좀비 프로세스는 종료되었지만 여전히 시스템에 남아 있는 특수 프로세스입니다. 좀비 프로세스는 리소스를 많이 소모하지 않지만 너무 많으면 시스템 리소스가 고갈될 수 있다. 이 기사에서는 시스템의 정상적인 작동을 보장하기 위해 좀비 프로세스를 올바르게 제거하는 방법을 소개합니다. 1Linux 좀비 프로세스 자식 프로세스가 작업을 완료한 후 부모 프로세스가 제때에 상태를 확인하지 않으면 자식 프로세스는 좀비 프로세스가 됩니다. 하위 프로세스는 상위 프로세스의 확인을 기다리고 있으며 시스템은 완료될 때까지 이를 재활용하지 않습니다. 그렇지 않으면 좀비 프로세스가 시스템에서 계속 정지됩니다. 시스템에 좀비 프로세스가 있는지 확인하려면 top 명령을 실행하여 실행 중인 모든 프로세스와 가능한 좀비 프로세스를 볼 수 있습니다. 'top' 명령의 결과는 Linux의 위 그림에서 확인할 수 있습니다.

iPhone에서 카메라 및 마이크에 대한 접근을 허용할 수 없습니다 iPhone에서 카메라 및 마이크에 대한 접근을 허용할 수 없습니다 Apr 23, 2024 am 11:13 AM

앱을 사용하려고 할 때 "카메라 및 마이크에 대한 접근을 허용할 수 없습니다"라는 메시지가 표시됩니까? 일반적으로 필요에 따라 특정 사람에게 카메라 및 마이크 권한을 부여합니다. 단, 권한을 거부할 경우 카메라와 마이크가 작동하지 않으며 대신 이런 오류 메시지가 표시됩니다. 이 문제를 해결하는 것은 매우 기본적이며 1~2분 안에 완료할 수 있습니다. 수정 1 – 카메라, 마이크 권한 제공 설정에서 직접 필요한 카메라 및 마이크 권한을 제공할 수 있습니다. 1단계 - 설정 탭으로 이동합니다. 2단계 – 개인 정보 보호 및 보안 패널을 엽니다. 3단계 - 거기에서 "카메라" 권한을 켭니다. 4단계 - 내부에서 휴대폰 카메라에 대한 권한을 요청한 앱 목록을 찾을 수 있습니다. 5단계 - 지정된 앱의 "카메라"를 엽니다.

Linux 프로세스 우선순위 조정 방법에 대한 자세한 설명 Linux 프로세스 우선순위 조정 방법에 대한 자세한 설명 Mar 15, 2024 am 08:39 AM

Linux 프로세스 우선순위 조정 방법에 대한 자세한 설명 Linux 시스템에서는 프로세스의 우선순위에 따라 시스템의 실행 순서와 리소스 할당이 결정됩니다. 프로세스의 우선순위를 합리적으로 조정하면 시스템의 성능과 효율성을 향상시킬 수 있습니다. 이 기사에서는 Linux에서 프로세스 우선순위를 조정하는 방법을 자세히 소개하고 구체적인 코드 예제를 제공합니다. 1. 프로세스 우선순위 개요 Linux 시스템에서 각 프로세스에는 그에 연관된 우선순위가 있습니다. 우선순위 범위는 일반적으로 -20~19입니다. 여기서 -20은 가장 높은 우선순위를 나타내고 19는

See all articles