[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~

大功告成! ~^-^~

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So machen Sie Google Maps zur Standardkarte im iPhone So machen Sie Google Maps zur Standardkarte im iPhone Apr 17, 2024 pm 07:34 PM

Die Standardkarte auf dem iPhone ist Maps, Apples proprietärer Geolokalisierungsanbieter. Obwohl die Karte immer besser wird, funktioniert sie außerhalb der Vereinigten Staaten nicht gut. Im Vergleich zu Google Maps hat es nichts zu bieten. In diesem Artikel besprechen wir die möglichen Schritte, um Google Maps als Standardkarte auf Ihrem iPhone zu nutzen. So machen Sie Google Maps zur Standardkarte auf dem iPhone. Das Festlegen von Google Maps als Standardkarten-App auf Ihrem Telefon ist einfacher als Sie denken. Befolgen Sie die nachstehenden Schritte – Erforderliche Schritte – Sie müssen Gmail auf Ihrem Telefon installiert haben. Schritt 1 – Öffnen Sie den AppStore. Schritt 2 – Suchen Sie nach „Gmail“. Schritt 3 – Klicken Sie auf neben der Gmail-App

Erklären Sie, was der Prozess explorer.exe ist Erklären Sie, was der Prozess explorer.exe ist Feb 18, 2024 pm 12:11 PM

Welcher Prozess ist explorer.exe? Wenn wir das Windows-Betriebssystem verwenden, hören wir oft den Begriff „explorer.exe“. Sind Sie neugierig, was dieser Prozess ist? In diesem Artikel erklären wir ausführlich, was der Prozess explorer.exe ist und welche Funktionen und Auswirkungen er hat. Zunächst einmal ist explorer.exe ein Schlüsselprozess des Windows-Betriebssystems. Er ist für die Verwaltung und Steuerung des Windows Explorers (Windows) verantwortlich

Was für ein Prozess ist ccsvchst.exe? Was für ein Prozess ist ccsvchst.exe? Feb 19, 2024 pm 11:33 PM

ccsvchst.exe ist eine allgemeine Prozessdatei, die Teil der Symantec Endpoint Protection (SEP)-Software ist, und SEP ist eine Endpoint Protection-Lösung, die vom bekannten Netzwerksicherheitsunternehmen Symantec entwickelt wurde. Als Teil der Software ist ccsvchst.exe für die Verwaltung und Überwachung SEP-bezogener Prozesse verantwortlich. Werfen wir zunächst einen Blick auf SymantecEndpointProtection(

Uhr-App fehlt im iPhone: So beheben Sie das Problem Uhr-App fehlt im iPhone: So beheben Sie das Problem May 03, 2024 pm 09:19 PM

Fehlt die Uhr-App auf Ihrem Telefon? Datum und Uhrzeit werden weiterhin in der Statusleiste Ihres iPhones angezeigt. Ohne die Uhr-App können Sie jedoch die Weltzeituhr, die Stoppuhr, den Wecker und viele andere Funktionen nicht nutzen. Daher sollte die Reparatur der fehlenden Uhr-App ganz oben auf Ihrer To-Do-Liste stehen. Diese Lösungen können Ihnen bei der Lösung dieses Problems helfen. Lösung 1 – Platzieren Sie die Uhr-App. Wenn Sie versehentlich die Uhr-App von Ihrem Startbildschirm entfernt haben, können Sie die Uhr-App wieder an ihrem Platz platzieren. Schritt 1 – Entsperren Sie Ihr iPhone und wischen Sie nach links, bis Sie zur Seite „App-Bibliothek“ gelangen. Schritt 2 – Suchen Sie als Nächstes im Suchfeld nach „Uhr“. Schritt 3 – Wenn Sie unten in den Suchergebnissen „Uhr“ sehen, halten Sie die Taste und gedrückt

Wie schreibe ich ein einfaches Countdown-Programm in C++? Wie schreibe ich ein einfaches Countdown-Programm in C++? Nov 03, 2023 pm 01:39 PM

C++ ist eine weit verbreitete Programmiersprache, die sich beim Schreiben von Countdown-Programmen sehr praktisch und praktisch eignet. Das Countdown-Programm ist eine gängige Anwendung, die uns sehr genaue Zeitberechnungs- und Countdown-Funktionen bieten kann. In diesem Artikel wird erläutert, wie Sie mit C++ ein einfaches Countdown-Programm schreiben. Der Schlüssel zur Implementierung eines Countdown-Programms besteht darin, einen Timer zur Berechnung des Zeitablaufs zu verwenden. In C++ können wir die Funktionen in der Header-Datei time.h verwenden, um die Timer-Funktion zu implementieren. Das Folgende ist der Code für ein einfaches Countdown-Programm

So beenden Sie Zombie-Prozesse unter Linux ordnungsgemäß So beenden Sie Zombie-Prozesse unter Linux ordnungsgemäß Feb 19, 2024 am 10:40 AM

In Linux-Systemen sind Zombie-Prozesse spezielle Prozesse, die beendet wurden, aber noch im System verbleiben. Obwohl Zombie-Prozesse nicht viele Ressourcen verbrauchen, können sie bei zu vielen Ressourcen zur Erschöpfung der Systemressourcen führen. In diesem Artikel erfahren Sie, wie Sie Zombie-Prozesse korrekt entfernen, um den normalen Betrieb des Systems sicherzustellen. 1Linux-Zombie-Prozess Nachdem der untergeordnete Prozess seine Aufgabe abgeschlossen hat und der übergeordnete Prozess den Status nicht rechtzeitig überprüft, wird der untergeordnete Prozess zu einem Zombie-Prozess. Der untergeordnete Prozess wartet auf die Bestätigung des übergeordneten Prozesses und das System wird ihn erst wiederverwenden, wenn er abgeschlossen ist. Andernfalls bleibt der Zombie-Prozess weiterhin im System hängen. Um zu überprüfen, ob Zombie-Prozesse im System vorhanden sind, können Sie den Befehl top ausführen, um alle laufenden Prozesse und mögliche Zombie-Prozesse anzuzeigen. Das Ergebnis des Befehls „top“ ist in der Abbildung oben unter Linux zu sehen.

Der Zugriff auf Kamera und Mikrofon im iPhone kann nicht zugelassen werden Der Zugriff auf Kamera und Mikrofon im iPhone kann nicht zugelassen werden Apr 23, 2024 am 11:13 AM

Erhalten Sie die Meldung „Zugriff auf Kamera und Mikrofon konnte nicht zugelassen werden“, wenn Sie versuchen, die App zu verwenden? Normalerweise erteilen Sie Kamera- und Mikrofonberechtigungen bestimmten Personen nach Bedarf. Wenn Sie jedoch die Erlaubnis verweigern, funktionieren die Kamera und das Mikrofon nicht und es wird stattdessen diese Fehlermeldung angezeigt. Die Lösung dieses Problems ist sehr einfach und in ein oder zwei Minuten erledigt. Fix 1 – Kamera- und Mikrofonberechtigungen bereitstellen Sie können die erforderlichen Kamera- und Mikrofonberechtigungen direkt in den Einstellungen bereitstellen. Schritt 1 – Gehen Sie zur Registerkarte „Einstellungen“. Schritt 2 – Öffnen Sie das Fenster „Datenschutz und Sicherheit“. Schritt 3 – Aktivieren Sie dort die Berechtigung „Kamera“. Schritt 4 – Darin finden Sie eine Liste der Apps, die eine Erlaubnis für die Kamera Ihres Telefons angefordert haben. Schritt 5 – Öffnen Sie die „Kamera“ der angegebenen App

Detaillierte Erläuterung der Methode zur Anpassung der Linux-Prozesspriorität Detaillierte Erläuterung der Methode zur Anpassung der Linux-Prozesspriorität Mar 15, 2024 am 08:39 AM

Detaillierte Erläuterung der Linux-Prozessprioritätsanpassungsmethode Im Linux-System bestimmt die Priorität eines Prozesses seine Ausführungsreihenfolge und Ressourcenzuteilung im System. Eine angemessene Anpassung der Priorität des Prozesses kann die Leistung und Effizienz des Systems verbessern. In diesem Artikel wird detailliert beschrieben, wie Sie die Priorität des Prozesses unter Linux anpassen, und es werden spezifische Codebeispiele bereitgestellt. 1. Überblick über die Prozesspriorität Im Linux-System ist jedem Prozess eine Priorität zugeordnet. Der Prioritätsbereich liegt im Allgemeinen zwischen -20 und 19, wobei -20 die höchste Priorität und 19 die höchste Priorität darstellt

See all articles