How to avoid memory leak when user press ctrl+c under linux?

前端 未结 7 2062
眼角桃花
眼角桃花 2020-12-29 15:28

In my program written with C and C++, I will new an object to fulfill the task, then delete the object.

At the moment after new object but before delete object, if t

7条回答
  •  予麋鹿
    予麋鹿 (楼主)
    2020-12-29 15:44

    When CTRL+C is pressed in a Linux console, the SIGINT signal is sent to the application which, if the signal has no handler, will terminate the program, returning all memory to the OS. This of course would make it pointless to do any freeing of memory, since all memory will freed once the program exists. However, if you would like to handle the CTRL+C SIGINT signal (maybe to write out some last data to a file or do some other cleanup), you can use the function signal() to install a function to be called when the signal is received. Check out the man page for this function if you want to learn more.

提交回复
热议问题