Can I handle the killing of my windows process through the Task Manager?
process, windows
Solution
There are two ways to kill application in Task Manager.
- Killing through Applications tab would roughly be equivalent of `SIGTERM`. Application may intercept it and do more processing, since it's basically sending a "close window" message. Message to catch is `WM_CLOSE`.
- Killing through Processes tab would roughly be equivalent of `SIGKILL`. There is nothing you can do to intercept that, short of monitoring user's actions in Task Manager's listbox and End Process button, or having a watchdog process that will see when the first one is killed.
Alternatively, design the application in a way that does not require cleanup, or in a way that it will perform cleanup at startup.
Problem
I have a windows C++ application (app.exe). When the app is closed, I need to perform some cleanup tasks specific to my application. What happens when this process (app.exe) is killed through the Task Manager. Assuming that the application is still responsive, can I somehow handle this situation in my app.exe? I am looking for something similar to how `kill <pid>` in Linux will send the SIGTERM signal to the process indicated by pid. I could then register my own signal handler for SIGTERM and perform the cleanup.