phpbar.de logo

Mailinglisten-Archive

[PHP] exec() sytem() star... _(at)_ Mathias

[PHP] exec() sytem() star... _(at)_ Mathias

Alexander Saupe php_(at)_phpcenter.de
Tue, 21 May 2002 17:46:16 -0700


From: "Gloss Mathias" <Mathias.Gloss_(at)_start.de>
> Das Problem hierbei ist, daß man aus PHP raus nicht einfach Subprozesse
> starten kann, die den Tod des Parents überleben. Wir hatten mal was
gemacht,
> wo über PHP ein Programm im Hintergrund gestartet werden sollte, und das
> ging nur, wenn man ein anderes Programm dazwischen geschaltet hatte...
> leider hab ich das Shellscript, das wir gebastelt haben, nicht hier auf
der
> Arbeit,
> aber ich kann mal heute abend danach schauen. Auf jeden Fall gings nicht
> ohne ein vorgeschaltetes Script / Programm.

so was in der Art (hier gefunden:
http://www.php.net/manual/en/ref.exec.php):

In case you ever had to chain from php to another program (e.g. with a cgi
php that only gives part of the output, or with php-gtk), here is a little
C program that kills his parent (php, for instance), then launches a
program given in argument.

chain.c :

#include <unistd.h>

int main(int argc, char**argv) {
  /* kill the parent */
  kill(getppid(), 15);
  argv++;
  /* then launch the new program */
  return execvp(argv[0], argv);
}
(compile with gcc -O3 -o chain chain.c)
then in php, use
<?
exec('chain sh -c echo test');
?>


php::bar PHP Wiki   -   Listenarchive