2012. 11. 19. 13:25

Linux에서 process 생성하기 (fork/exec)

Linux에서 process를 생성하기 위해서는 fork를 실행한후 exec 함수군을 사용하면 됩니다.
제가 한동안 Windows 개발자라 Windows convention에 맞게 만든 CreateProcess를 공유합니다.
물론, Linux에서 사용되는 함수입니다.

와 같습니다.

각 argument는 다음과 같습니다.
  • lpszCmdFullPath
    ; 명령의 Full path. argument가 없다. 예) /bin/ls
  • bWait
    ; 종료까지 기다릴지 여부
  • nCountArg
    ; 가변인자(...)의 개수
  • pnExitCode
    ; 프로세스의 Exit Code. 종료시까지 기다리고 제대로 종료되었을 때 의미있음
  • ...
    ; 프로세스에 전달될 Argument. 여러개 가능. 예) -la
  • 리턴값
    ; 성공시 : true / 실패시 : false
ERRORLOG와 INFOLOG는 직접 사용하는 에러 출력 함수로 연결하시면 됩니다.
필요없는 경우는 지우셔도 됩니다.

그리고, 필요한 경우 다음 define이 필요합니다.

사용법은 다음과 같습니다.

위는, /dev/sda1 장치를 mount하는 예를 나타낸 것입니다.