Develop
2003.04.23 10:55

[linux] 프로세스 관련 시스템콜

Views 7827 Votes 0 Comment 0
?

Shortcut

PrevPrev Article

NextNext Article

Larger Font Smaller Font Up Down Go comment Print
?

Shortcut

PrevPrev Article

NextNext Article

Larger Font Smaller Font Up Down Go comment Print
system ( ) 함수: 쉘 명령어를 실행시킨다.

예제: system.c
     1  #include <stdlib.h>
     2
     3  main() {
     4      system("/usr/bin/ls  -l");
     5  }

#35 hyundai1:/export/home0/oracle/sql/sql00/c% a.out
총 14
-rwxr-xr-x   1 sql00    sql         5444 11월  6일  20:00 a.out
-rw-r--r--   1 sql00    sql           60 11월  6일  20:00 system.c


--------------------------------------------------------------------------------

execl ( ) 함수: 프로그램을 실행시킨다.

예제: execl.c
     1  main() {
     2      int pid;
     3      int status;
     4
     5      pid = fork();
     6      if(pid > 0) {
     7          wait(&status);
     8      } else if(pid == 0) {
     9          execl("/usr/bin/ls", "ls", "-l", 0);
    10      } else {
    11          printf("fork error.n");
    12      }
    13  }

#97 hyundai1:/export/home0/oracle/sql/sql00/c% a.out
총 26
-rwxr-xr-x   1 sql00    sql         5736 11월  6일  21:11 a.out
-rw-r--r--   1 sql00    sql          185 11월  6일  21:11 execl.c
-rw-r--r--   1 sql00    sql           69 11월  6일  20:03 fork.c
-rw-r--r--   1 sql00    sql          196 11월  6일  21:03 fork2.c
-rw-r--r--   1 sql00    sql          213 11월  6일  21:03 fork3.c
-rw-r--r--   1 sql00    sql         1736 11월  6일  21:08 process.html
-rw-r--r--   1 sql00    sql           60 11월  6일  20:00 system.c
<xmp>


--------------------------------------------------------------------------------

fork ( ) 함수: 새로운 프로세스를 생성한다.

예제: fork1.c
     1  main() {
     2      int pid;
     3
     4      pid =  fork();
     5      printf("my pid = %dn", pid);
     6  }

#43 hyundai1:/export/home0/oracle/sql/sql00/c% a.out
my pid = 0
my pid = 9015

예제: fork2.c
     1  main() {
     2      int pid;
     3
     4      pid =  fork();
     5      if(pid > 0) {
     6          printf("I am parent.n");
     7      } else if(pid == 0) {
     8          sleep(1);
     9          printf("I am child.n");
    10      } else {
    11          printf("fork error.n");
    12      }
    13  }

#75 hyundai1:/export/home0/oracle/sql/sql00/c% a.out
I am parent.
#76 hyundai1:/export/home0/oracle/sql/sql00/c% I am child.


--------------------------------------------------------------------------------

wait ( ) 함수: 부모 프로세스가 자식 프로세스가 종료될 때까지 기다린다.

예제: fork3.c
     1  main() {
     2      int pid;
     3      int status;
     4
     5      pid =  fork();
     6      if(pid > 0) {
     7          printf("I am parent.n");
     8          wait(&status);
     9      } else if(pid == 0) {
    10          sleep(2);
    11          printf("I am child.n");
    12      } else {
    13          printf("fork error.n");
    14      }
    15  }

#87 hyundai1:/export/home0/oracle/sql/sql00/c% a.out
I am parent.
I am child.


--------------------------------------------------------------------------------

atexit ( ) 함수: 프로그램이 종료되기 전에 atexit에 등록된 함수가 수행된다.

사용법
        #include 
        int atexit(void (*func)(void));

예제: atexit.c
     1  #include <stdio.h>
     2  #include <stdlib.h>
     3
     4  void cleanup() {
     5      printf("Clean up before exit.n");
     6  }
     7
     8  main() {
     9      atexit(cleanup);
    10      printf("Hello World !!n");
    11  }

#19 enterprise:/data1/student/c9844000% a.out
Hello World !!
Clean up before exit.

?

List of Articles
No. Category Subject Author Date Views
21 Develop 웹페이지 성능 테스트 툴 설명 hooni 2013.04.23 27445
20 Develop 이어서 작업할 내용~ secret hooni 2013.11.21 0
19 Etc 이클립스(Eclipse) 유용한 단축키 ㅋㅋ hooni 2013.04.23 21765
18 Etc 인증서 *.p12 파일을 *.pem 파일로 변환 hooni 2015.04.30 1806
17 Develop 자주 쓰는 Docker 명령어 alias hooni 2020.01.10 269527
16 Develop 정리할 자료. file hooni 2015.07.02 677
15 Etc 정보시스템(정보보안)의 위험관리 설명 hooni 2013.04.23 19337
14 Etc 종합시험 관련 자료 secret hooni 2017.03.15 0
13 Develop 참고하고 지울 자료.. 집에서 바야지.. ㅋㅋ file hooni 2013.04.23 12125
12 Develop 최근 논문 자료 (2011/01/03, 만현형한테 보낸거..) secret hooni 2013.04.23 10366
11 Etc 캘리포니아 운전면허 문제 file hooni 2017.07.22 980
10 Develop 캘리포니아 운전면허 족보 file hooni 2017.06.12 738
9 System/OS 컴파일러 수업 자료(교재 : 컴파일러 입문) file hooni 2003.04.23 21967
8 System/OS 콘솔에서 패스워드 걸린 zip 압축하는 명령 hooni 2018.03.02 944
7 Etc 티스토리 테이블 html,css 구문 hooni 2013.11.03 15957
6 Develop 페이팔에서 돈 찾기 (Paypal withdraw) file hooni 2014.02.20 11375
Board Pagination Prev 1 ... 70 71 72 73 74 Next
/ 74