Hi again,
Mittlerweile bin ich soweit, dass ich den Prozess forke und eigenständig laufen lasse:
$pid = pcntl_fork();
if($pid == -1) {
echo "Could not fork, exit.\n";
exit;
}
elseif($pid) {
echo "Jabber Bot forked, its PID is $pid.\n";
exit;
}
else {
// we are the child
}
if(!posix_setsid()) {
echo "Could not detach from terminal, exit.\n";
exit;
}
Das läuft soweit auch prima, der Prozess wird auf der Kommandozeile gestartet, spaltet sich ab und dann läuft "im Hintergrund", also so das ich es nicht sehe das Programm an sich weiter - soweit alles gut.
Doch was genau bringt mir das posix_setid()? Das PHP Manual ist sehr spärlich was das anbelangt und die man Seite hilft mir auch nicht wirklich weiter.
Wenn ich das richtig verstehe, soll der Prozess ja von der Shell gelöst werden - doch was heißt gelöst? Unter gelöst würde ich verstehen, dass der Prozess nichts mehr auf der Kommandozeile ausgibt, und doch tut er genau das, wenn ich ihn per kill <PID> abschieße und die Shutdown-Routine (welche ein paar echo's enthält) ausgeführt wird.
MfG, Dennis.