전체150 프로세스 이미지 대체하기 프로세스 생성을 위한 저수준 인터페이스로 exec 가 있다. exec 함수라는 것은 사실 이름이 exec로 시작되는 일단의 함수들을 통칭한 것이다. 이 함수들은 모두 새 프로세스를 띄우는 일을 하되, 프로세스를 띄우는 방식이나 프로그램 인수들을 제공하는 방식은 서로 다르다. exec함수들은 현재 프로세스를 path 또는 file 인수로 지정된 프로그램의 새 프로세스로 대체한다. exec 함수들을 이용하면 현재 프로그램의 실행을 다른 프로그램에게 넘겨 줄 수 있다. 예를 들면 한 프로그램이 사용자의 신원을 점검한 후에 제한된 사용 방침을 가진 다른 어떤 프로그램에게 실행을 넘겨주는 등의 시나리오가 가능하다. exec 함수들의 경우 새 프로그램이 시작된 후에는 원래의 프로그램이 더 이상 실행될 필요가 없다는.. 2010. 8. 15. 새 프로세스 시작하기 새프로세스를 생성하는 것이 가능한대.. 이를 위한 시트메 호출은 system이다. #include int system (const char *string); system 함수는 string 매개변수로 주어진 명령을 실행하고 그것이 끝날 떄 까지 기다린다. system은 만일 주어진 명령을 실행할 수 없으면 127을, 그외의 오류가 발생하면 -1을 돌려준다. 명령을 실행한 경우에는 그 명령의 종료 코드를 돌려준다. ------------------------------------- system 함수 예제 ------------------------------------- #include #include int main() { printf("Running ps with system\n"); system("p.. 2010. 8. 15. 프로세스 일정 관리 출처: Beginning Lenux Programming 단일 프로세서 컴퓨터의 경우에는 한 시점에서 오직 하나의 프로세스만이 실행될 수 있으며 다른 프로세스들은 자신의 차례를 기다려야 한다. 좀 더 구체적으로 말하면, 프로세스들에는 Time slice이 차례로 부여되며 각 프로세스는 자신에 주어진 Time slice 동안만 실제로 실행된다. 그런데 이 조각의 길이가 아주 짧은 탓에 사용자는 마치 여러 프로세스들이 동시에 실행되는 것처럼 느끼게 된다. ps 의 출력에 R+ 상태를 가진 프로세스가 여러 개 나타나는 경우도 있는데, R+는 단지 해당 프로세스가 전경 (foreground) 태스크(ㅓ다른 프로세스가 종료되길 기다리거나 입, 출력이 완료되길 기다리는 것이 아닌 프로세스 )임을 뜻할 뿐이다. (눈.. 2010. 8. 14. 프로세스와 신호 출처: Beginning Lenux Programming 프로세스 (process)와 신호(Signal)는 리눅스 운영 환경의 토대를 형성한다. 프로세스와 신호는 리눅스와 기타 모든 UNIX류 컴퓨터 시스템들에서 일어나는 거의 모든 활동을 제어한다. 리눅스와 UNIX의 프로세스 관리 방식에 대한 이해는 시스템 프로그래머는 물론 응용 프로그램 프로그래머와 시스템 관리자에게도 크게 도움이 된다고 한다. 우선 프로세스라는것은 하나 이상의 스레드 들과 그 스레드들에 필요한 시스템 자원들을 포함하는 하나의 주소공간 으로 정의한다. 여기서 스레드는 하나의 프로세스 내에서 더 작은 단위로 독립적으로 실행시키며 제어가 가능한 흐름으로 정의되며 Excecution context (실행 컨텍스트)또는 Light weigh.. 2010. 8. 13. 이전 1 ··· 7 8 9 10 11 12 13 ··· 38 다음