Thread Nicht auffindbarer Fehler bei exec und fork (14 answers)
Opened by bianca at 2013-11-12 08:19

bianca
 2013-11-12 08:19
#172014 #172014
User since
2009-09-13
6978 Artikel
BenutzerIn

user image
Guten Morgen!
Auf einem neu aufgesetzten Linux Server (nicht von mir aber auch nicht bei einem berufsmäßigen Hoster) mit Apache gibt es folgendes Problem:
  • Script A in Verzeichnis V1 ruft in einem fork() Kindzweig per exec() Script B in Verzeichnis V2 auf
  • Script B sollte in einer Logdatei in Verzeichnis V3 etwas schreiben, tut es aber nicht; ebenfalls keine Ausgaben im error.log
  • V1 ist das öffentliche /cgi-bin, V2 ein nicht öffentliches Scripte Verzeichnis und V3 ein nicht öffentliches Datenverzeichnis
  • startet man in der Shell mit dem User des Webservers über sudo -u wwwuser scriptb.pl das Script B auf die selbe Art und Weise wie im exec(), läuft alles wie erwartet, Script B scheint also in Ordnung zu sein
  • setzt man in Script A in das exec() den Aufruf eines Testscripts C in Verzeichnis V2 läuft auch alles wie erwartet, exec() in Script A scheint also grundsätzlich zu tun, was es soll und die Pfade stimmen
  • nur die Kombination A mit B klappt nicht
  • das fork() in Script A liefert in allen Fällen eine PID
  • eine Abfrage der Prozesse mit ps bringt als Ergebnis, dass der gesuchte Prozess nicht läuft, daher ist unbekannt, ob Script B nie gestartet oder aus einem unbekannten Grund sofort wieder beendet wurde
  • Berechtigungen (chmod=-rwxr-xr-x oder 0755) sowie Besitz (chown=der FTP-User) sind für alle drei Scripte identisch
  • V1 und V2 sind im Apache ausführbar, Schreibberechtigung in V3 besteht
  • auf das oben beschriebene Verhalten nimmt übrigens keinen Einfluss, ob STDIN, STDOUT und STDERR im Kindzweig von Script A vor dem exec() geschlossen werden oder nicht

Was kann ich noch tun, um die Ursache zu finden, warum A mit B nicht kann?
10 print "Hallo"
20 goto 10

View full thread Nicht auffindbarer Fehler bei exec und fork