call a function even a program terminate abnormally

Patrick Schlangen patrick@schlangen.me
Sat Aug 5 09:47:00 GMT 2017


Be aware that SIGKILL cannot be caught...

Another idea would be to have a monitoring process which spawns your program, monitors it and does cleanup once it dies.

Patrick



Von meinem iPhone gesendet
> Am 05.08.2017 um 11:31 schrieb Marcin Mielniczuk <marmistrz.dev@zoho.eu>:
> 
> I guess you'd have to install handlers for every possible signal. Your program can receive SIGTERM, SIGKILL, ...
> 
>> On August 5, 2017 11:29:51 AM GMT+02:00, Patrick Schlangen <patrick@schlangen.me> wrote:
>> Hi Yubin,
>> 
>>> I am wondering whether it is possible to invoke a function when a
>> program
>>> terminate abnormally (e.g., segfault).
>> 
>> you could install a signal handler for SIGSEGV using signal() (2),
>> but please be aware of all the pitfalls.
>> 
>> When your process receives SIGSEGV, you probably have some
>> memory corruption ongoing and you don't know if the data structure
>> holding your lock is still valid.
>> 
>> Best Regards,
>> 
>> Patrick
> 
> -- 
> Sent from my Android device with K-9 Mail. Please excuse my brevity.
> 
> 





More information about the Libc-help mailing list