ブロックされてから終了するプロセスを作成するコードに取り組んでいます.psでブロックされた状態を確認できる必要があります.
私はこれで試しましたが、私のCの知識は良くありません。コードは何も出力しません。
ここにあります:
#include <stdio.h>
#include <stdlib.h> //exit();
#include <unistd.h> //sleep();
int main(int argc, char *argv[]) {
createblocked();
}
int pid;
int i;
int estado;
void createblocked() {
pid = fork();
switch( pid ) {
case -1: // pid -1 error ocurred
perror("error\n");
break;
case 0: // pid 0 means its the child process
sleep(); // we put the child to sleep so the parent will be blocked.
printf("child sleeping...");
break;
default: // !=0 parent process
// wait function puts parent to wait for the child
// the child is sleeping so the parent will be blocked
wait( estado );
printf("parent waiting...\n");
printf("Child terminated.\n");
break;
}
exit(0);
}
ブロックされるのは小さなプログラムだけなので簡単なはずですが、私は円を描いて歩いていると思います。何かアドバイス?