I'm trying to do some cleanup (write open files) when Linux shuts down. I thought the right method would be to trap SIGTERM and do the necessary processing. Here's my sample code:
When I run this, and press Ctrl-C, it writes "got 2" to test.txt. However, if I logout/reboot, nothing is written to the file.Code:#include <stdio.h> // for File I/O #include <signal.h> // for signals #include <unistd.h> // for sleep() void handler(int signal) { FILE *out=fopen("test.txt","at"); if (out) { fprintf(out,"got %d\n",signal); fclose(out); } } int main() { signal(SIGTERM,handler); signal(SIGINT,handler); sleep(30); }
Any help or ideas would be appreciated!
-Ron


Reply With Quote

Bookmarks