atexit로 지정해 놓은 종료시 호출될 함수를 안 호출할려면?

익명 사용자의 이미지

atexit로 지정해 놓은 종료시 호출될 함수를 안 호출할려면 어떻게 해야
하죠?

프로그램이 종료하는 곳이 많은 데 그 중의 한 곳만 그 함수를 호출하면
안 되거든요.

어떻게 하면 되죠?

즐거운 하루 되세요 ^^

익명 사용자의 이미지

raise(SIGABRT) 또는 raise(SIGTERM) 을 사용하면
atexit 설정을 무시할 겁니다. 하지만, 제 생각에는
atexit 로 추가한 함수 내에서 특정한 전역변수
상태(값)에 따라, 루틴을 실행할지 말지 결정하는 게
좋을 것 같습니다. 상황에 맞게 코딩하시면 될 것
같네요.

익명 사용자의 이미지

man _exit

오랜만에 답변하네요.^^