Pertanyaan nginx lua: os.execute waitpid () gagal (10: Tidak ada proses anak)


Jadi, saya mencoba menjalankan skrip pada setiap permintaan. Saya tahu bagaimana kedengarannya, ini untuk lingkungan pengembangan.

Saya telah menambahkan ini ke konfigurasi nginx saya access_by_lua_file "/opt/nginx/git-magic.lua";

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

Dan git-magic.sh berisi: echo hello >> /tmp/git-magic

Masalahnya adalah:

Setiap kali saya menekan URL apa pun, saya mendapatkan yang berikut di log kesalahan nginx: 2012/09/27 15:35:48 [alert] 3241#0: waitpid() failed (10: No child processes)

Ada gagasan apa yang mungkin saya lakukan salah?


6
2017-09-27 15:45




wow ... Saya mengalami masalah yang sama, dan berpikir saya akan gila ... Saya mencari yang sulit untuk melihat apakah saya dapat menemukan jawaban ...
Saya juga mengalami masalah yang sama !! - Sabya
Sudahkah Anda memeriksa yang sudah jelas? Dapatkah pengguna nginx mengakses file lua? dapat menulis pengguna nginx ke / tmp /? - c2h5oh
Lua dapat mengakses git-magic.sh, git-magic.sh menulis hal yang tepat untuk / tmp / git-magic - Andrei Serdeliuc
Lihat apakah ada file apparmor.d untuk nginx. Saya mengalami masalah meyakinkan dhcpd untuk menjalankan file ketika alamat diminta, karena apparmor memblokirnya. - Tom O'Connor


Jawaban:


Itu lua-resty-shell klaim untuk memecahkan masalah ini dengan menyediakan os.execute setara non-blocking.


0
2018-06-30 10:07