Develop
2003.04.23 10:55

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

조회 수 7876 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
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
번호 분류 제목 글쓴이 날짜 조회 수
841 Develop 프로그램 문서 관리 (Doxygen) hooni 2013.04.23 16446
840 Develop 프로그래밍에서 foo, bar 함수의 유래 file hooni 2013.06.25 21488
839 Develop 프로그래밍 소스 관련 사이트.. hooni 2013.04.23 16532
838 Develop 페이팔에서 돈 찾기 (Paypal withdraw) file hooni 2014.02.20 11487
837 Develop 캘리포니아 운전면허 족보 file hooni 2017.06.12 897
836 Develop 최근 논문 자료 (2011/01/03, 만현형한테 보낸거..) secret hooni 2013.04.23 10366
835 Develop 참고하고 지울 자료.. 집에서 바야지.. ㅋㅋ file hooni 2013.04.23 12183
834 Develop 정리할 자료. file hooni 2015.07.02 831
833 Develop 자주 쓰는 Docker 명령어 alias hooni 2020.01.10 272960
832 Develop 이어서 작업할 내용~ secret hooni 2013.11.21 0
831 Develop 웹페이지 성능 테스트 툴 설명 hooni 2013.04.23 27526
830 Develop 알고리즘 성능분석 file hooni 2014.06.24 3113
829 Develop 알고리즘 성능 분석 기준 hooni 2014.06.24 2920
828 Develop 아이 훌레시 작업중 ㅋㅋ secret hooni 2013.08.09 0
827 Develop 서기의 PHP 동영상 강의(싱싱해) hooni 2013.05.15 31045
826 Develop 사이버보안실무 수업 메모 secret hooni 2017.03.23 0
Board Pagination Prev 1 2 3 4 5 ... 53 Next
/ 53