프로그래밍/C2012. 1. 30. 08:07

system 으로 쉘 명령어를 실행시키거나 프로세스를 실행시키는건 대체적으로 좋지 않은 방법이다. 

이는 system 이 동작하기 위해 먼저 쉘을 실행시키기 때문이다. 이렇게 시작된 쉘은 각 설치된 쉘의 환경등에 따라 다른 동작성을 보일 수 있기 때문이다. 


그래서 보통 대체적으로 쓰이는 것이, exec 이며 exec 계열은 다음과 같이 나뉘어진다. 
execl, execle, execlp
execv, execve, execvp

그러나 이런 exec 또한 프로세스를 실행시킨 뒤 에러가 나지 않는 한 리턴되지 않는다.

즉,우리가 처음 시작한 프로세스에서 여러개의 프로세스를 실행시키기에는 부적합하다는 것이다. 


그래서 대신 자식 프로세스를 생성하거나 쓰레드를 생성하는 것이다

'프로그래밍 > C' 카테고리의 다른 글

enum vs #define vs const  (0) 2012.02.05
enum 타입 c vs c++  (0) 2012.02.04
process & signal  (0) 2012.01.25
error: invalide storage class for function 'xxxx'  (0) 2011.11.29
대상체의 기억수명  (0) 2011.11.29
Posted by code cat