[shell] 프로그램 종료 전 마무리 작업 실행하기
프로그램이 종료될 때 실행할 작업을 설정하려면 다음과 같이 시그널 핸들링을 구현할 수 있습니다.
#include <stdio.h>
#include <signal.h>
#include <stdlib.h>
void exit_handler(int sig) {
// 종료 전에 수행할 작업 구현
printf("프로그램 종료 전 작업을 실행합니다.\n");
// 작업 완료 후 프로그램 종료
exit(0);
}
int main() {
// SIGINT 시그널에 exit_handler 함수 할당
signal(SIGINT, exit_handler);
// 프로그램 실행
printf("프로그램이 실행 중입니다. Ctrl+C를 눌러 종료해 보세요.\n");
while (1) {
// 프로그램이 실행 중인 상태 유지
}
return 0;
}
위 코드는 C 언어를 사용한 간단한 예제로, SIGINT 시그널에 대한 핸들러를 등록하여 Ctrl+C를 눌러 프로그램을 종료할 때 지정된 작업을 수행하도록 합니다.
참고 문헌:
- https://man7.org/linux/man-pages/man2/signal.2.html