Comments (4)
No, sending SIGKILL will terminate the supervisor process, but it will orphan the children. The process never even receives the SIGKILL signal - it is entirely handled in the OS. Ben ran into this right away with the node process because clicking "stop" just killed the supervisor, but the node server was still running, and he could not restart it.
from exo.
The change that Ben made is a stopgap that will usually terminate the supervisor and the child process, but if the child is not well-behaved, it can still hang around. We need the supervisor to handle SIGTERM and SIGINT by trying to stop the child process (and forcefully killing it if it does not stop gracefully) then exiting itself. The stop
handler for a process type should probably also wait on a slightly longer timeout after trying to stop the supervisor before killing it.
from exo.
When we stop a process, we send SIGKILL to the logio process
Seems like this changed now?
#43
orphaning the supervised process (and not stopping it)
Was that true? I thought they were part of a process group and should have died together. Is that not true?
we should signal logio that it should gracefully stop its child process, wait for termination, then stop itself. Configurable timeouts should be used in both exo and the supervisor, after which the child process should be killed.
The hard requirement is a proper kill. Graceful shutdown with only OK if we include the timeout mechanism.
from exo.
fixed on main branch
from exo.
Related Issues (20)
- [BUG] Can start non-existent process HOT 1
- [BUG] exo manifest format panics if read file is changed HOT 1
- [BUG] Can't run a single component without running everything HOT 1
- [BUG] Can't easily remove underlying volumes HOT 4
- [BUG] Creating a project from a template does not apply the manifest HOT 1
- [UX] submit button below directory picker with long file list is confusing HOT 2
- [BUG] Weird logged out state UX HOT 2
- [BUG] `exo login` fails
- [FEATURE] `exo logout`
- [FEATURE] `exo whoami`
- [BUG] symlinks to directories don't show up in read-dir results HOT 1
- [BUG] Formatting manifest replaces docker file with exo file HOT 1
- [BUG] Fix docker logging on WSL HOT 1
- [BUG] Manifest files with multiple containers fail to run HOT 1
- [BUG] Manifest allows components with the same name HOT 2
- [BUG] Sometimes we attempt to control containers that don't exist HOT 1
- [BUG] Attempting to create privileged containers produces an opaque error HOT 1
- [FEATURE] more direct way to refresh daemon environment HOT 3
- [FEATURE] Support shell aliases in Procfile
- [FEATURE] Make `exo logs` print the exit code if the process is stopped HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from exo.