I've run into an interesting problem, and reduced to it what I think is a minimal case. I have the following Procfile (note this requires python 3.x to run):
Running foreman start in a directory with an inner subdirectory (so the cd doesn't fail), I get:
% foreman start
10:20:30 server.1 | started with pid 15205
10:20:30 failure.1 | started with pid 15206
10:20:32 failure.1 | exited with code 1
10:20:32 system | sending SIGTERM to all processes
10:20:32 server.1 | terminated by SIGTERM
However, the server is still running:
% lsof -i tcp:8000
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
python3.7 15207 mikeyhoy 3u IPv4 0xe5175633836f0ad9 0t0 TCP *:irdmi (LISTEN)
If I remove the cd inner && from the server child command, it works as expected, the subprocess getting terminated. Even more interestingly, if I remove the failure child, and exit foreman normally with Control-C, it correctly kills the subprocess. So it only seems to happen if another child process fails at startup.
Hello,
I've run into an interesting problem, and reduced to it what I think is a minimal case. I have the following
Procfile
(note this requires python 3.x to run):Running
foreman start
in a directory with aninner
subdirectory (so thecd
doesn't fail), I get:However, the server is still running:
If I remove the
cd inner &&
from theserver
child command, it works as expected, the subprocess getting terminated. Even more interestingly, if I remove thefailure
child, and exit foreman normally with Control-C, it correctly kills the subprocess. So it only seems to happen if another child process fails at startup.Any ideas on what's going on?
Thanks.
EDIT: I'm using the current version,