Warum kann nicht lösche ich eine Datei von einem untergeordneten Prozess des PHP-Dämon?

StackOverflow https://stackoverflow.com/questions/2103235

  •  21-09-2019
  •  | 
  •  

Frage


:

Ich baue einen einfachen PHP-Skript-Daemon, eine PHP-Daemon-Klasse an zur Verfügung gestellt http://www.phpclasses.org/browse/file/8958.html

Ich bin für besser mit dieser Klasse steckt oder noch schlimmer, und ich habe nicht viel Zeit, dies zu tun zu bekommen; so um Ausgabe benutzerdefinierte Befehle an den Dämon verwende ich nur eine Befehlsdatei im Verzeichnis / tmp-Verzeichnis. Allerdings muss ich diese Datei löschen, nachdem der Dämon alle Befehle verarbeitet darin enthaltenen.

Allerdings, wenn ich auf „unlink“ die Datei in PHP versuchen, einfach der unlink Vorgang fehlschlägt und die Datei bleibt. Ich weiß für eine Tatsache, dass es kein Problem mit den Berechtigungen ist. In der Tat bin ich ziemlich sicher, dass dies etwas mit der Tatsache zu tun hat, dass jede „Iteration“ des Dämons als Kind Prozess erzeugt wird, und dass Teilprozess muss irgendwie keine Berechtigung zum Löschen von Dateien hat.

Meine Frage: Warum kann diese Datei nicht PHP löschen, und was kann ich dagegen tun es

War es hilfreich?

Lösung

/tmp hat in der Regel das Sticky-Bit gesetzt, so dass ich nur der Benutzer glauben, die die Datei dort abgelegt es löschen können. Sehen Sie Ihr Kind Prozesse unter dem gleichen Benutzer wie der übergeordneten Prozess ausgeführt (Apache, www, etc ..)? Welche Prozessinstanz erstellt die Datei?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top