sangjun

menu-opener icon
  • 홈
  • 태그
  • 방명록
  • GitHub
[ 시스템 프로그래밍 ] fork()와 execve()의 차이를 알아보자 포스팅 썸네일 이미지

프로그래밍

[ 시스템 프로그래밍 ] fork()와 execve()의 차이를 알아보자

1. fork()란 무엇인가 - 새로운 프로세스를 생성한 뒤에 현재 프로세스의 메모리 상태를 새로운 프로세스에 그대로 복사하는 것이다. - 부모 프로세스의 메모리 상태에서 몇 가지를 제외하고 그대로 복사하는데 이 중에 부모 프로세스와 다른 것은 pid이다. - 아래 결과를 보면 부모 프로세스와 자식프로세스는 독립된 메모리 주소를 사용한다. ( Code 영역은 공유함 ) - 아래 출력 결과를 보면 자식 프로세스에서 printf를 찍어도 stdout으로 출력된다. 즉, 부모 프로세스의 파일 디스크럽터를 자식프로세스에서 복사한다. - fork로 만들어진 자식 프로세스 부모 프로세스 사이의 통신은 IPC통신을 한다. 대표적으로는 PIPE통신이 있다. - return값은 2개이고, 0과 프로세스 id이다. 0은 ..

2022.04.14 게시됨

1

공지사항

최근글

인기글

최근 작성된 댓글

태그 클라우드

  • iofile_vatble_check
  • 포너블
  • tcache
  • 얕은복사
  • vi설정
  • iofile_aw
  • c++
  • tcache_dup2
  • 으
  • house_of_spirit
  • HackCTF
  • writeup
  • house_of_force
  • tcache_dup
  • 드림핵
  • Write-up
  • 포맷스트링
  • subl
  • 깊은복사
  • iofile
  • PWN
  • pwnable
  • q으
  • FSB
  • unsafe unlink
  • d포너블포너블
  • iofile_vtable
  • 도커
  • DreamHack
  • 디폴트생성자
Copyright . 베이스캠프 all rights reserved.
Designed by 베이스캠프
닫기 아이콘
사이드 프로필 배경이미지
블로그 이미지

sangjun

  • All (4)
    • Pwnable (0)
      • Kernel exploit (0)
      • Browser exploit (0)
    • Web (0)
    • Memo (0)
    • TOOLS & Error (3)
    • 프로그래밍 (1)

전체

오늘

어제

Designed by 베이스캠프

티스토리툴바