SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Handbuch der Java-Programmierung

Handbuch der Java-Programmierung zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP für Fortgeschrittene und Experten

PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 21.04.2009, 15:21:40
maus maus ist offline
Anfänger
 
Registriert seit: Apr 2009
Alter: 44
Beiträge: 1
Unabhängiger Prozess mit PHP Exec() starten

Hallo,

Ich verwende die Process-Klasse aus einem Beitrag in der PHP.net Function Reference. Siehe http://ch.php.net/manual/de/function.exec.php#88704

Herzstück der Klasse ist die Funktion runCom(), welche einen unabhängigen Prozess starten kann.
PHP-Code:
private function runCom(){        
        
$command 'nohup '.$this->command.' 1> /dev/null 2>&1 & echo $!';
        
exec($command ,$op);
        
$this->pid = (int)$op[0];
    } 
Der Befehlssyntax
Code:
nohup INDIPENDENTCMD 1> /dev/null 2>&1
scheint richtig zu sein. Nohup startet einen, vom Parent-Prozess unabhängigen, Prozess. Der Standard- und Error-Output werden richtig umgeleitet. Kurz: Der Befehl funktioniert auf Shell-Ebene (Prozess x starten - Parentprozess {Shell} Y schliessen -> Prozess x läuft weiter).
Wenn der Befehl jedoch mit PHP-Exec() ausgeführt wird, beendet sich dieser, sobald das Skript endet d.h. der PHP-Interpreter beendet wird.
Für mich ist unverständlich, warum ein der Befehl direkt im System funktioniert und mit PHP ausgeführt nicht unabhängig vom Parentprozess gestartet werden kann.

Habe ich etwas übersehen? Erfahrungen?

Danke

PS: Man könnte das Command auch in ein Shell-Skript auslagern. Das funktioniert, ist aber sicher nicht Sinn und Zweck einer Process Class.
Mit Zitat antworten
  #2  
Alt 22.04.2009, 19:53:52
TBT TBT ist offline
Anfänger
 
Registriert seit: Apr 2009
Alter: 48
Beiträge: 11
AW: Unabhängiger Prozess mit PHP Exec() starten

$pid = shell_exec( 'nohup '.escapeshellcmd( $command ) .' > /dev/null & echo $!' );

funktioniert bei mit tadellos
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Hintergrundprozesse aus PHP heraus starten c4 Off Topic Area 18 16.12.2009 18:33:56
PHP starten oder aktivieren lelli_1 Apache HTTP-Server 2 18.10.2006 18:32:32
php script zeitgesteuert starten paulussus PHP für Fortgeschrittene und Experten 2 01.06.2003 20:48:36
Frage: Mit PHP über CGI ein Programm starten ths PHP für Fortgeschrittene und Experten 0 14.06.2002 20:05:27
[Suche] Möglichkeit einen Prozess zu starten Jason_Frost PHP für Fortgeschrittene und Experten 4 15.05.2002 16:44:34


Alle Zeitangaben in WEZ +2. Es ist jetzt 19:54:44 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt