강의

멘토링

커뮤니티

Inflearn Community Q&A

ikeejung7215's profile image
ikeejung7215

asked

Operating Systems Made Easy with Pictures

"프로세스 생성과 종료" 강의 3분 47초

Resolved

Written on

·

219

1

인터넷 브라우저를 사용하다가 종료가 되면 13번 라인의 exit() 함수가 실행된다고 하셨는데

 

제가 알기로는

if 문 내부에 단순한 문장(예: printf())이 아닌

exec() system call이 오게 되는 경우 프로세스 내의 프로그램을 새로운 프로그램으로 대치하기 때문에

호출이 정상적으로 이루어진 경우 복귀할 곳이 사라진다고 배웠습니다.

따라서 성공한 exec() 호출은 반환 값이 없고, 만약 아래의 exit() 함수를 실행하는 경우는

오로지 exec()가 실패했을 경우 뿐이라고 알고 있었습니다.

 

하지만 영상의 3분 47초부터는 exit(1)이 호출되고, 프로그램 종료를 알린다고 설명합니다.

정확히 어떤 것이 맞는 건지 궁금합니다..

운영체제

Answer 1

1

gamja5님의 프로필 이미지
gamja5
Instructor

안녕하세요 이기정님!

좋은 지적 감사합니다.

exec함수 문서를 읽어보니 기정님께서 미리 알고 계신 내용이 맞습니다.

실패한 경우에만 반환을 하기 때문에 정상적으로 브라우저가 실행되면 exit은 실행되지 않는게 맞습니다.

혼란을 드려서 죄송합니다.

ikeejung7215's profile image
ikeejung7215

asked

Ask a question