openresty/lua-nginx-module
ngx.pipe.spawn shell mode child process not killed after openresty exits
Offen
#1.855 geöffnet am 19.02.2021
good first issue
Repository-Metriken
- Stars
- (11.407 Sterne)
- PR-Merge-Metriken
- (Durchschn. Merge 5T 4h) (6 gemergte PRs in 30 T)
Beschreibung
When using ngx.pipe.spawn in shell mode (args is a string), sh -c in invoked internally.
While OpenResty exists, SIGKILL is sent to sh process, but it's not able to propogate to child process.
The child process is then left alive.
POC:
init_work_by_lua_block {
require("ngx.pipe").spawn("/tmp/a.py")
}
$ cat /tmp/a.py:
#!/usr/bin/env python3
import time
time.sleep(23333)
Then signal stop the OpenResty/Nginx process.