
지난 포스팅에 이어서 리눅스 프로세스 관련 예제에 대해 살펴보겠습니다! 지난번 포스팅에서 프로세스 제작 사이에 숫자를 프린트 하는 것 까지 했습니다! 6. Execve() 실행 파일 만들기 exec() 호출을 이용해 ls 명령어를 -l 옵션과 -a 옵션을 줘서 실행시켜보겠습니다! #include #include int main(){ char *new_argv[]={"ls","-l","-a",NULL}; execve("/bin/ls",new_argv,NULL); printf("Hello World! \n"); //출력안됨 return 0; } 이 코드에서 주의해서 볼 부분이 있습니다. 바로 printf("Hello world! \n"); 이 코드입니다! 위의 코드에서 printf는 실행되지 않습니다. 그 ..

안녕하세요! 이번 포스팅에서는 리눅스 관련 개념인 프로세스의 예제를 다뤄보겠습니다~ 먼저 시작하기에 앞서 프로세스를 관리해줄 System Call들을 살펴보겠습니다! 1. Process Management System Calls getpid : 프로세스의 ID를 얻는다. getppid : 부모 프로세스의 ID를 얻는다. fork : child 프로세스를 만들기 위해 부모 프로세스를 복제한다. exec : code, data, stack 등을 replace를 교체한다. exit : 프로세스를 종료한다. 종료할 때 상태 변수를 바꾸기 위해 사용한다. wait : 자식 프로세스를 위해 대기한다. 2. fork() 출력 예제 [myfork] fork 하는 순간 parent 프로세스에서 리턴 한 번, child ..

안녕하세요! 오늘은 리눅스의 프로세스에 대해 알아보겠습니다! ! 1. 프로세스의 정의 프로세스란 프로그램이 수행되고 있는 상태를 의미합니다. 따라서 프로그램 != 프로세스 != 프로세서 인거죠. 그럼 각각의 정의를 알아보겠습니다! 프로세스 (Process) : 프로그램이 실행중인 상태 프로그램 (Program) : 어떤 문제를 해결하기 위해 컴퓨터에게 주어지는 처리 방법과 순서를 기술한 일련의 명령문의 집합체 프로세서 (Processor) : 프로그램들이 실행할 수 있도록 해주는 하드웨어 프로세스는 두가지 abstractions있습니다. 혼자 CPU를 독자적으로 수행하는 것 같은 착각 시스템 메모리를 프로그램 혼자 쓰는 것 같은 착각 이러한 현상은 여러개 프로세스를 빠르게 스위칭하고 가상 메모리 시스템에..
- Total
- Today
- Yesterday
- 자바스크립트
- 공룡책
- 백준
- Linux
- JS
- AWS
- 혼공
- 혼공학습단
- 백엔드 개발
- C++
- Process
- 깃 예제
- 혼공단 9기
- 교환학생
- 개발일지
- 혼공단
- SQL
- nodejs
- 프로젝트
- 리눅스
- 개발
- 혼공단 SQL
- 스페인 교환학생
- JavaScript
- 해커톤
- 운영체제
- Signal
- MySQL
- googleapis
- 스페인
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |