시스템 프로그래밍[4-7]

거북이·2024년 4월 20일
0

시스템프로그래밍

목록 보기
7/9
post-thumbnail

❓프로그램 실행

exec()시스템 호출에 의해서 프로그램이 실행된다.

[1]. exec()시스템 호출에 의해 실행된다.
[2]. 프로그램 실행이 시작된다.
[3]. C시작루틴부터 시작하며, 이 시작루틴은 main()함수를 호출하고 명령줄 인수와 환경변수를 main()함수로 옮겨준다.
[4]. main()함수를 반환하고 exit()시스템 호출을 하며 종료한다.

❓명령줄 인수와 환경변수

명령줄 인수란 명령어와 명령할 내용을 말한다.

환경변수란 실행파일의 경로정보, 파일이름을 말한다.

❓프로그램 종료

정상 종료와 비정상 종료로 나뉜다.

[1]. 정상 종료

  • C시작루틴에서 main()의 반환값을 가지고 exit()를 호출하는 방법
  • 프로그램 내에서 직접 exit()를 호출하는 방법
  • 프로그램 내에서 직접 _exit()를 호출하는 방법
    • exit()fclose()를 사용해서 열린 스트림을 닫고 버퍼에 존재하는 내용들을 디스크에 쓰는 등 뒷정리를 하지만 _exit()는 뒷정리를 하지 않고 즉시 종료한다.

[2]. 비정상 종료

  • 시그널에 의한 종료
  • abort()시스템 호출에 의한 SIGABRT시그널 종료

0개의 댓글