waitpid

    2

    1답변

    루프 내에서 여러 자식 프로세스를 생성 중입니다. 각 어린이는 그 일을 할 것이며 그 중 누구라도 먼저 끝낼 수 있습니다. (해당하는 경우 확실하지 않지만 각 어린이도 손자를가집니다.) 자식 프로세스가 종료되고 다른 프로세스가 종료 될 때까지 기다리는 방법은 무엇입니까? for(i=0; i<numberOfChildren; i++) { pid =

    2

    1답변

    내 친구들과 내가 쉘을 코딩하려고합니다. 문제는 'cat'명령을 실행 한 다음^C로 STDIN을 종료하면 waitpid에서 내 프로그램 segfault가 만들어져 내 프로그램이 종료됩니다 ... (물론 내가 싫어하는 것은 무엇입니까?) 모든 명령이 작동합니다. 완벽하게 그리고 나는 다른 문제가 없다. 나는이 문제 (큰 문제)를 해결하는 방법을 묻는다. 도움

    0

    3답변

    execl이 자식 프로세스 인 경우 언제 waitpid를 사용해야합니까? 완료하는 데 시간이 걸릴 수 있습니까? 부모에서 waitpid를 사용할 때 waitpid의 반환 값으로 자식이 실행되고 있습니다. waitpid를 사용하여 ECHILD와 함께 -1을 반환하는 다른 함수에서 잠시 후 사용하려고합니다. 기상 아이가 완료되었는지 확실하지 않은 경우 언제 웨

    0

    1답변

    프로그램과 같은 셸을 만들려고합니다. 샘플 스 니펫 프로그램을 작성하여 ls | 화장실. 예제 프로그램에서 주 프로세스는 execvp를 사용하여 각 명령을 실행하기위한 하위 프로세스를 만들고 파이프를 사용하여 출력을 전달합니다. 그러나 프로그램을 실행하면 두 번째 fork() (pid2)에 대한 waitpid가 블록됩니다. waitpid가있을 때 프로그램이

    1

    1답변

    Linux에 익숙하지 않습니다. 자식 프로세스를 기다리기 위해 waitid()를 사용하려고합니다. 나는 gcc를 사용하여 다음 줄을 포함하여 파일을 컴파일 할 때 다음 오류가 생성 된 id_t cpid = fork(); siginfo_t status; waitid(P_PID, cpid, &status, WEXITED); 을 : error: ‘P_PI

    1

    1답변

    저는 fork과 exec을 처음 사용하고 다음 프로그램을 시도했습니다. 프로그램 1 : int main(int argc, char *argv[]){ pid_t pid; int status; pid = fork(); if(pid == 0){ printf("new process"); execv("p1",

    1

    1답변

    #include <errno.h> #include <stdio.h> #include <stdlib.h> #include <sys/wait.h> #include <unistd.h> int main(void) { pid_t Checksum_pid = fork(); if (Checksum_pid < 0) printf("

    0

    1답변

    open3에 의해 호출되는 프로그램의 출력이 너무 커 (65536 이상) 경우 waitpid가 영원히 실행됩니다. 지금 $에서 리턴 코드를 my $kid; while (1) { $kid = waitpid($pid, WNOHANG); last unless $kid > 0; } 을하지만 : use IPC::Open3;

    1

    1답변

    포크를 수행 한 후 하위 프로세스에서 execl을 사용하려고합니다. execl은 약 120 초가 걸릴 스크립트를 실행합니다. 거의 모든 조합을 waitpid, wait 및 waitid와 함께 다른 인수 (0, WNOHANG 등)로 시도했지만 모든 경우에 -1 반환 값을 얻고 있습니다. 따라서 어떤 대기 함수에서 언제 사용해야하는지 알고 싶습니다. 따라서 하

    3

    1답변

    하위 프로세스를 모니터링하고 실패하거나 종료 할 때 다시 시작하는 기본적인 예제를 만들었습니다. 이 작업을 수행하는 기본 /보다 강력한 방법은 무엇입니까? 계속해서 상태 변화를 조사하는 것이 좋은 습관입니까? 내 이해는 내가 SIGCHLD 같은 것을 활용해야하지만 좋은 예제를 찾을 수 없습니다. 저는 주로 임베디드 C 코더입니다. 이것은 fork()을 이해