> However, what if the need arises to forcefully terminate a process, disguising it as a successful exit? ... Since the parent process would detect the non-zero exit code, there was a high likelihood of making things worse.
I'm still trying to imagine what situation that is. I still cannot think about any real case where this is something you need.
If there is, I guess this is a very rare case? As it was already commented, I guess just gdb then?
But the technical details on how they do it are interesting nevertheless.
how can we build a tool to stop a process forcefully but make it look like a successful termination? As far as I know, Linux doesn’t provide an API to perform such a kill.
Interestingly, Windows does:
https://learn.microsoft.com/en-us/windows/win32/api/processt...
Using gdb is probably easier.
This is cute, but why not just do this with gdb? All-stop mode is on by default so it will stop all threads when you attach, and then you can simply invoke the exit_group() syscall.