php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Programm per .php schließen!


 
Respawn
20-05-2003, 21:56 
 
Habe ein programm auf meinen linux server gestartet (per exec) wie beende ich es nun per php code. Ich habe auch die ID vom Programm plz help!

:( :( :(

 
Abraxax
20-05-2003, 22:31 
 
kill <taskid>notfalls auchkill -9 <taskid>allerdings muss der prozess von dem user gestartet sein, der ihn beenden möchte. oder du bist root. aber wäre tödlich, wenn dein httpd als root läuft... :p

 
Respawn
20-05-2003, 22:43 
 
<?
kill("3167");
?>

?

will nett so wirklich. STarte das programm per exec ka als was der das nun startet (root)!

 
mrhappiness
20-05-2003, 22:45 
 
exec('kill -9 taskid');so?

 
Abraxax
20-05-2003, 22:47 
 
warum machst du nicht direkt?exec("kill 121321");

in der regel läuft apache als apache-user und nciht als root. entweder hat der user apache das script gestartet, dann kann er es auch beenden, oder es geht nur als root und damit kannst du die hilfe von php vergessen.

 
Respawn
20-05-2003, 22:53 
 
Ok thx es geht. Nur noch eine Frage wie starte ich ein Programm mit einer bestimmten id per exec. Wer echt super wenn du das auch noch weisst!
:rocks: :rocks: :rocks:

<?
exec ("/usr/games/programm");
?>

 
mrhappiness
20-05-2003, 22:55 
 
ein programm mit einer best. id starten?

die id is das, was bei deinem windows die prozess-id is, die kriegt der prozess vom betriebssystem damit das system die prozesse auseinanderhalten kann. diese id kannst du nich beeinflussen

 
Respawn
20-05-2003, 22:57 
 
In Linux!

Das muss gehen!

 
Abraxax
20-05-2003, 22:58 
 
Original geschrieben von Respawn
In Linux!

Das muss gehen! NEIN !!!

 
mrhappiness
20-05-2003, 22:59 
 
Original geschrieben von Respawn
In Linux!

Das muss gehen! auch linux kann das nich. sonst könntest du ja jedem prozess die id 0 geben und das chaos wär perfekt oder?

 
Abraxax
20-05-2003, 23:01 
 
aber vielleicht gibt es eine Linux Respawn Edition wo das geht. musst du mal im netz suchen.

 
Respawn
20-05-2003, 23:02 
 
Wie machen das dann die gameserver firma mit ihren gameservern? Das man den server immer starten und beenden kann. Immer wenn ich ihn beende und neu starte hat er ne andere id und ich muss sie neu in die php datei eintragen

 
Abraxax
20-05-2003, 23:05 
 
die lassen sich die taksid von kernel zurückgeben und schreiben ihn in eine datei rein.

schaue mal in deinem linux in /var/run rein. da stehe die aktuellen pids.

 
Respawn
20-05-2003, 23:08 
 
Jo hast recht aber wie kann man das nun so korrekt einbinden :/

 
Respawn
20-05-2003, 23:12 
 
Kann man auch per php überprüfen lassen ob eine id gerade an oder offline ist und per echo zeile ausgeben ob an oder aus?

 
Abraxax
20-05-2003, 23:12 
 
dann schaue mal nach, wie die shellscripte gestartet werden.

ich meine mit STARTPROC oder so.

---
btw.
*VERSCHIEB* jetzt mal so langsam von php nach linux.

 
Respawn
20-05-2003, 23:14 
 
Kennst du dich mit shell scripten aus?

 
Respawn
20-05-2003, 23:14 
 
Oder muss ich das im Linux Forum fragen

 
Abraxax
20-05-2003, 23:16 
 
Original geschrieben von Respawn
Kennst du dich mit shell scripten aus? etwas.Original geschrieben von Respawn
Oder muss ich das im Linux Forum fragen da bist du doch schon... ;)---
btw.
*VERSCHIEB* jetzt mal so langsam von php nach linux.

 
Respawn
20-05-2003, 23:18 
 
Bald steht hier ein komplettes server webinterface :p

 
Respawn
20-05-2003, 23:18 
 
Wie frage ich jetzt nur per shell ab welche id online ist und welche nicht und wie binde ich es danach in php ein!

 
Respawn
20-05-2003, 23:19 
 
Das soll dann der Server status sein ob er gerade an oder aus ist

 
Abraxax
20-05-2003, 23:20 
 
ps axf | grep httpdliefert mir alle ids der httpd prozesse. so kannst du prüfen.
19719 pts/2 S 0:00 \_ grep httpd
17118 ? S 0:00 /usr/sbin/httpd
17121 ? S 0:03 \_ /usr/sbin/httpd
17123 ? S 0:04 \_ /usr/sbin/httpd
17124 ? S 0:03 \_ /usr/sbin/httpd
17125 ? S 0:02 \_ /usr/sbin/httpd
17126 ? S 0:04 \_ /usr/sbin/httpd
17127 ? S 0:05 \_ /usr/sbin/httpd
17128 ? S 0:02 \_ /usr/sbin/httpd
17129 ? S 0:04 \_ /usr/sbin/httpd
17535 ? S 0:01 \_ /usr/sbin/httpd

 
Abraxax
20-05-2003, 23:21 
 
und so ...ps aux | grep httpd.... hast du sogar die user dabei, die das ausführen.
root 17118 0.0 1.0 15180 3900 ? S May19 0:00 /usr/sbin/httpd
apache 17121 0.0 1.5 16672 5976 ? S May19 0:03 /usr/sbin/httpd
apache 17123 0.0 1.5 16644 5856 ? S May19 0:04 /usr/sbin/httpd
apache 17124 0.0 1.5 16748 5848 ? S May19 0:03 /usr/sbin/httpd
apache 17125 0.0 1.5 16684 5880 ? S May19 0:02 /usr/sbin/httpd
apache 17126 0.0 1.4 16608 5700 ? S May19 0:04 /usr/sbin/httpd
apache 17127 0.0 1.6 16716 6436 ? S May19 0:05 /usr/sbin/httpd
apache 17128 0.0 1.5 16628 5972 ? S May19 0:02 /usr/sbin/httpd
apache 17129 0.0 1.4 16672 5524 ? S May19 0:04 /usr/sbin/httpd
apache 17535 0.0 1.4 16644 5756 ? S May19 0:01 /usr/sbin/httpd
root 19722 0.0 0.1 3572 640 pts/2 S 23:19 0:00 grep httpd

 
Respawn
20-05-2003, 23:22 
 
Bei mir so:
1011 ? S 0:00 /usr/sbin/httpd -f /etc/httpd/httpd.conf
1048 ? S 0:00 \_ /usr/sbin/httpd -f /etc/httpd/httpd.conf
1369 ? S 0:00 \_ /usr/sbin/httpd -f /etc/httpd/httpd.conf
3593 ? S 0:00 \_ /usr/sbin/httpd -f /etc/httpd/httpd.conf
3621 ? S 0:00 \_ /usr/sbin/httpd -f /etc/httpd/httpd.conf

 
Respawn
20-05-2003, 23:23 
 
Hier die User:
root 1011 0.0 0.5 81112 5804 ? S 12:42 0:00 /usr/sbin/httpd -f /etc/httpd/httpd.conf
wwwrun 1048 0.0 0.6 81352 6300 ? S 12:42 0:00 /usr/sbin/httpd -f /etc/httpd/httpd.conf
wwwrun 1369 0.0 0.6 81340 6280 ? S 12:44 0:00 /usr/sbin/httpd -f /etc/httpd/httpd.conf
wwwrun 3593 0.0 0.5 81196 5920 ? S 23:06 0:00 /usr/sbin/httpd -f /etc/httpd/httpd.conf
wwwrun 3621 0.0 0.5 81196 5920 ? S 23:09 0:00 /usr/sbin/httpd -f /etc/httpd/httpd.conf
root 3796 0.0 0.0 1604 528 pts/1 R 23:23 0:00 grep httpd

 
Respawn
20-05-2003, 23:24 
 
wwwrun ist das was ich per php code mit exec gestartet habe

 
Abraxax
20-05-2003, 23:25 
 
ja. da hast du dann auch die ids des apache.

1011
1048
1369
usw.

und mit [code ]-tags siehts auch so schön aus, wie bei mir... ;)

 
Abraxax
20-05-2003, 23:25 
 
und dein script hat auch einen namen. nach diesem namen kansnt du das grep entsprechend filtern lassen.

 
Respawn
20-05-2003, 23:26 
 
Ja nur wie bindet man das nun in ein shell script und gibt den status der id in php aus :/ das ist ja das interessante

 
Abraxax
20-05-2003, 23:27 
 
Original geschrieben von Respawn
wwwrun ist das was ich per php code mit exec gestartet habe als php hast du den apache gestartet? :goth:

ohne apache kein php. oder du hast das in der console gemacht?

 
Abraxax
20-05-2003, 23:27 
 
Original geschrieben von Respawn
Ja nur wie bindet man das nun in ein shell script und gibt den status der id in php aus :/ das ist ja das interessante gibt exec() nichts zurück an ausgaben?

 
Respawn
20-05-2003, 23:28 
 
apache startet beim booten das habe ich mit php code gestartet

 
Respawn
20-05-2003, 23:30 
 
Exec gibt nichts zurück

 
Respawn
20-05-2003, 23:40 
 
Komme morgen wieder werde dann mal gucken was du gutes gepostet hast.

:rocks: :rocks: :rocks:

 
Abraxax
20-05-2003, 23:42 
 
Original geschrieben von Respawn
apache startet beim booten das habe ich mit php code gestartet apache mit php bei booten starten? hast du wirklich ein linux? oder wirklich die Linux Respawn Edition?
apache kann man mit seinem startup-script ( /etc/init.d/httpd start ) starten. und automatisch geht bei rc<runlevel>.d
aber egal.

Original geschrieben von Respawn
Exec gibt nichts zurück dann mache das so
ps aux | grep httpd > /tmp/deinedateidiese datei kannst du dann mit php auslesen.

so. gehe jetzt gleich auch pennen.

 
Respawn
21-05-2003, 00:01 
 
So: Apache startet beim booten ist über webmin eingetragen.

 
Respawn
21-05-2003, 00:03 
 
Die neu datei im /tmp/ ordner heisst einfach nur "new" und hier was drin steht:
root 1011 0.0 0.5 81112 5804 ? S May20 0:00 /usr/sbin/httpd -f /etc/httpd/httpd.conf
wwwrun 1048 0.0 0.6 81352 6300 ? S May20 0:00 /usr/sbin/httpd -f /etc/httpd/httpd.conf
wwwrun 1369 0.0 0.6 81340 6280 ? S May20 0:00 /usr/sbin/httpd -f /etc/httpd/httpd.conf
wwwrun 3593 0.0 0.6 81308 6288 ? S May20 0:00 /usr/sbin/httpd -f /etc/httpd/httpd.conf
wwwrun 3621 0.0 0.6 81336 6244 ? S May20 0:00 /usr/sbin/httpd -f /etc/httpd/httpd.conf

 
Abraxax
21-05-2003, 00:07 
 
ja. und das kannst du auslesen mit php. das habe ich ja schon weiter oben gepostet.

mal nur ne frage am rande. kannst du überhaupt php?

wenn nicht (was ich so im gefühl habe aber ich kann auch irren), schaue ins manual.
http://de.php.net/manual/de/

ich mache dir das script jedenfalls nicht.

 
Respawn
21-05-2003, 20:16 
 
Bin noob in sachen php

 
Abraxax
21-05-2003, 20:27 
 
deswegen schreibe ich dir das script aber dennoch nicht.

 
Respawn
21-05-2003, 21:51 
 
Hat da wer von gesprochen?

 
Abraxax
21-05-2003, 22:31 
 
indirekt schon... ;)

schliesslich sage ich dir ja alles vor.

du musst mal versuchen anzufangen, selber einige experiment zu machen. ich helfe dir auch. aber eben nicht mehr so, dass wir abends immer hin und her schreiben und nichts von dir gemacht wurde.

ist nicht bös' gemeint. es soll dir als hilfe dienen.


Alle Zeitangaben in WEZ +2. Es ist jetzt 08:53 Uhr.