nginx lua: os.execute waitpid () fehlgeschlagen (10: Keine untergeordneten Prozesse)


7

Ich versuche also, bei jeder Anfrage ein Skript auszuführen. Ich weiß, wie das klingt, das ist für die Entwicklungsumgebung.

Ich habe dies zu meiner Nginx-Konfiguration hinzugefügt access_by_lua_file "/opt/nginx/git-magic.lua";

git-magic.lua enthält local status = os.execute('/opt/nginx/git-magic.sh')

Und git-magic.sh enthält: echo hello >> /tmp/git-magic

Das Problem ist:

Immer wenn ich eine URL drücke, wird im Nginx-Fehlerprotokoll Folgendes angezeigt: 2012/09/27 15:35:48 [alert] 3241#0: waitpid() failed (10: No child processes)

Irgendwelche Ideen, was ich falsch machen könnte?


wow ... ich habe genau das gleiche Problem und dachte, ich würde verrückt ... Ich suche schwer zu sehen, ob ich eine Antwort finden kann ...

Ich habe auch das gleiche Problem !!
Sabya

Hast du das Offensichtliche überprüft? Kann der Nginx-Benutzer auf die Lua-Datei zugreifen? Kann ein Nginx-Benutzer in / tmp / schreiben?
c2h5oh

Lua kann auf git-magic.sh zugreifen, git-magic.sh schreibt das Richtige an / tmp / git-magic
Andrei Serdeliuc

Überprüfen Sie, ob es eine apparmor.d-Datei für nginx gibt. Ich hatte ein Problem damit, dhcpd davon zu überzeugen, eine Datei auszuführen, wenn eine Adresse angefordert wird, weil Apparmor sie blockiert hat.
Tom O'Connor

Antworten:


0

Die lua-resty-shell behauptet, dieses Problem durch die Bereitstellung eines nicht blockierenden os.execute-Äquivalents zu lösen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.