[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를 눌러 프로그램을 종료할 때 지정된 작업을 수행하도록 합니다.

참고 문헌: