Closed davebra closed 1 year ago
It seems like gcloud
processes signals incorrectly. If you run htop
and enable tree mode, you'll see something like this:
As you see, the top process is a python wrapper. If you send SIGINT to it, it'll exit leaving the Java server up and running.
The thing is that when you press Ctrl+C
, SIGINT is sent to the process that is attached to Stdin. But Overmind sends SIGINT to PIDs of its child processes. In this case, the child process is the python wrapper.
Thanks @DarthSim , great find, I changed my Procfile to start the emulator executing the Java server directly instead of the wrapper, in this way overmind stops correctly the process.
I close this as it's not really an overmind issue.
I'm trying to run the gcloud pubsub emulator in a overmind process, but with overmind the termination on the process doesn't work as expected, the command sill runs in the background. Running the gcloud command in a terminal and sending CTRL-C it stops as expected, as well as running it in a tmux session and sending SIGTERM or SIGINT, it terminates correctly.
Content of my Procfile:
Output (including send of CTRL-C):
But the emulator is still running:
Running
overmind kill
doesn't work either.