컴퓨터/언어,프로그래밍 썸네일형 리스트형 ececl과 execv의 차이 execv는 ps -ef 로 프로세스 검색할때 binary의 full path가 나타난다. execl는 ps -ef 로 프로세스 검색할때 binary의 이름만이 나타난다. ex ) execv: test 6483 26943 0 06:30:03 ? 0:00 /hws11/test/test/bin/T/tac_m605_frv execl: test 13879 6455 0 10:21:40 ? 0:00 tbs_1111_isd 3 850002 [출처] ececl과 execv의 차이|작성자 바람아래 더보기 execl함수와 execv함수의 사용법 우선 execl함수와 execv함수의 사용법을 알려드릴게요. int execl(const char *path, const char *arg0, ... , const char *argn, NULL); int execv(const char *path, char *const argv[]); 대충이렇습니다. 위 두 함수는 fork로 차일드 프로세스를 만든 후 그 프로세스를 새로운 독립적인 프로세스로 만들어 주는 역할을 합니다. 따라서 그것은 우리가 명령프롬프트에 실행파일을 실행하는 것과 비슷한 이치입니다. 예를 들어 /...> gcc -c test.c 이런 명령을 내렸다고 합시다. 그럼 argc는 3이 되고 arg0이 가리키는 놈은 gcc arg1이 가리키는 놈은 -c arg2가 가리키는 놈은 test.c 입니.. 더보기 execl함수와 ∴ execv함수의 사용법 execl함수와 ∴ execv함수의 사용법 execl함수와 execv함수의 사용법 우선 execl함수와 execv함수의 사용법을 알려드릴게요. int execl; int execv; 의 문장을 집어 넣어주면 새로운 독립된 프로세스가 한개 탄생하게 되는 것입니다. 결과는 같습니다. 다만 들어가는 인자가 무엇인가만 다른 뿐입니다. 자신이 편하다고 생각하는 방법을 사용하는 겁니다 ^^. -------------------------------------------------------------- 2. exec는 성공적으로 마쳐진 경우에는 제어가 복귀되지 않고, 오류 발생시만 1값을 복귀시킨다. ④ 형식 execl execv execlp execvp path 실행화일이 있는 곳까지의 전체 경로 이름 argo .. 더보기 feof(),,, 마지막 줄 두 번 안 읽게 하는 처리 feof(),,, 마지막 줄 두 번 안 읽게 하는 처리 data 파일의 내용 Hanyang University The College of Information and Communication Major in Computer (줄바꿈) 라고 가정하고, fread() 함수로 data 파일의 내용을 읽어 오면 Hanyang University The College of Information and Communication Major in Computer Major in Computer 이렇게 맨 마지막줄이 한 번 더 출력되는 상황이 발생한다. 이럴 때는 어떻게 대처해야 할까? 아래와 같이 fread() 함수로 한 번 더 읽어서 fread() == 0 임을 판단 하여 TRUE 값을 반환 한다면 break로 루프.. 더보기 23 프로세스 23 프로세스 프로세스들은 시스템의 자원들의 할당을 위한 기본적인 단위이다. 각 프로세스는 자신만의 주소공간과 (보통) 한 개의 제어 쓰레드를 갖는다. 프로세스는 프로그램을 실행한다; 당신은 같은 프로그램을 실행하는데 여러개의 프로세스를 가질 수 있지만, 각각의 프로세스는 자신의 주소공간에서 자신의 프로그램 복제본을 갖고 다른 프로그램 복사본과 독립적으로 실행된다. 프로세스들은 계층적으로 구성된다. 각 프로세스는 그것을 만들었던 부모 프로세스를 갖는다. 주어진 부모 프로세스에 의해 만들어진 프로세스는 자식 프로세스라고 불린다. 자식 프로세스는 부모 프로세스로부터 그 속성의 대부분을 상속받는다. 이 장은 프로그램에서 어떤 자식 프로세스를 만들고, 종료하고, 제어하는지에 대해서 설명하고 있다. 실제로, 새로.. 더보기 fork를 이용해서 자식 1~10출력후 부모 1~10을 출력하는 프로그램 fork() 시스템 콜과 exec() 시스템 콜에 대해 간단히 이야기하고 넘어가겠습니다. UNIX 시스템 프로그래밍을 공부해 보신 분들을 다 잘 아시는 내용일 것입니다. fork() 나 exec() 모두 한 프로세스가 다른 프로세스를 실행시키기 위해 사용하는 시스템 호출입니다. 두 함수의 차이점을 위주로 설명하면, 우선 fork() 시스템 호출은 새로운 프로세스를 위한 메모리를 할당합니다. 그리고, fork() 를 호출한 프로세스를 새로운 공간으로 싸그리 복사합니다. 그리고 나서 원래 프로세스는 원래 프로세스대로 실행되고, fork() 를 이용해서 생성된 프로세스도 그 나름대로 fork() 시스템 콜이 수행된 라인의 다음 라인부터 실행이 됩니다. (새로 생성된 프로세스는 원래의 프로세스랑 똑같은 코드를가.. 더보기 fork는 새로운 child Process를 실행 하는데 사용 합니다. fork는 새로운 프로세스를 생성 하기 위한 function입니다. 새로운 프로세스(Child Process)는 fork를 실행 한 Process의 모든것을 그대로 복사 하여 가지고 있습니다. 포크는 멀티프로세싱을 하기 위한 기본입니다. 즉 프로그램에서 동시에 여러가지 일을 수행 하기 위한 기본적인 명령어 인것 입니다. 쉬운 예로 Web Server를 살펴 봅시다. Web Server는 동시에 적게는 몇명 많게는 몇천명의 사용자를 동시에 처리 해야 합니다. 이를 위해서 Web Server는 다음과 같이 구성 됩니다. 1. 사용자 Request를 기다림 2. 사용자 Request가 들어오면 3. fork를 수행 4. 만일 fork를 수행 한 Process면 1번으로 감. (다른 request를 처리 하기 .. 더보기 fork() 함수에관한건데 좀 도와주세요 #include #include #include fibo (int n); int main() { int a; pid_t pid; pid=fork(); if (pid 더보기 이전 1 ··· 14 15 16 17 18 19 20 ··· 36 다음