Make the fuse daemon process a parent of the payload process rather than a sibling
Currently running an appimage creates two processes:
- The fuse daemon process: <appimage>.appimage
- The actual payload process, which can be named anything
My users get confused by this, as they think they should be able to go to "task manager" and kill the process that they just ran. However, this just kills the fuse process, and the application keeps running to some extent. It crashes eventually when the application attempts to read something that wasn't already cached.
To me, it would be clearer in the process list if the fuse daemon process was a true parent of the payload process. Since the child in this case can't work without the parent, it would also be nice if killing the "parent" also killed the "child."
It's perfectly possible I'm misunderstanding something here though.
Thanks for a great software distribution system!
Hello @remleduff. Yes, that would be much better. Do you know how to do this in code? A pull request on https://github.com/AppImage/type2-runtime would be highly appreciated.
cc @TheAssassin
I'll look into this, I'm interested at least. My thought is to basically switch the code after the fork call, and make the child start the payload, and the parent be the fuse daemon.
I'd have to have a look myself first to provide any feedback. Feel free to send a PR. I'll have a look.