Ladezeit in Script einstellen

DJCueForce

Mitglied
Hallo,

ich schreibe derzeit ein script was einen server startet
nur der server startet auch und macht alles was er soll
nur er läd sich immer zu tode nach dem drücken von start.
( ca. 2 - 3 min lang )
Kann man dieses irgentwie beeinflussen?
Das er nach 5 sek. eaufhört zu laden?

Freue mich auf eure antwortern

MFG
Robin aka DJCueForce
 
an sich funktioniert das...l
aber mal gehts und mal nicht das is doch irgendwie nicht normal oder?

Edit: Es geht irgendwie garnicht mehr >.<
 
Zuletzt bearbeitet:
Könntest du vielleicht einfach etwas genauer beschreiben, was eigentlich dein Problem ist? Was für ein Server soll gestartet werden, was für ein Script soll benutzt werden, in welcher Umgebung läuft das alles ab?

Um dir anhand der bisherigen Angaben eine Lösung zu liefern bräuchte man schon 'ne Kristallkugel.
 
Ich starte mit folgendem script einen dienst;

PHP:
<?php
set_time_limit(3);
$output = shell_exec('./dienst /home/config/'.getuserdatabyid($_SESSION['user_id'],'port').'.conf');
echo "Dienst wurde gestartet";
?>

Das funktioniert auch an sicht recht gut.
Nur einen hacken hat das ganze.
Der dienst startet, doch nach dem starten des dienstes läd sich die start.php die ich über eine externe seite also eine verlinkung öffne zu tode

Hoffe das es genau genug beschreiben ist
achso und ich bleibe die ganze zeit auf der seite stehen wo ich den Link Start stehen habe wie auf start.php verlinkt.
 
Hi!

Dein Skript lädt sich zu Tode, weil es darauf wartet das shell_exec beendet wird - was bei einem Dienst nicht allzu oft vorkommen dürfte. Um die Shell (sh) einen Prozess im Hintergrund ausführen zu lassen, hängst Du einfach ein Ampersand (&) an den Befehl an. Außerdem kannst Du dir noch die Prozess-ID ausgeben lassen, was vor allem bei Daemons äußerst nützlich sein dürfte - sofern Sie nicht eh ein pidfile anlegen:
PHP:
$command = "/was/auch/immer --param=value";
$process_id = rtrim(shell_exec("$command > /dev/null & echo \$!"));
echo "Service gestarted, PID $process_id.\n";
Natürlich bekommst Du jetzt nicht mehr direkt an die Ausgabe von /was/auch/immer - so wie ich Dein Problem verstanden habe brauchst Du das aber auch nicht, oder?

Gruß
Enum
 
Danke für deine hilfe.

Ich werde es mal ebend Testen.

Nein ich brauche keine ausgabe des Sc-Demon.

MFG
Robin

Vielen Dank!
Es funktioniert super 1a! nun kann ich auch mein Stop script verbessern.

vorher hatte er immer killall /hom/....../sc_serv /home/..../getuserdatabyid und so weiter

nun kann ich kill benutzen und dort die Prozess ID aus der DB auslesen lassen weil ich diese nun ja übr start in die datenbank neben Port und IP packen kann.

Vielen herzlichen dank!
 
Zurück