#include #include #include #include #include #include #include #include #include extern char **environ; int weak_process(){ printf("get signal\n"); } int main(void) { // 获取进程ID printf("I am %d \n", getpid()); printf("My parent is %d\n", getppid()); // 打印环境变量 // char **env = environ; // while (*env != NULL) // { // printf("%s\n", *env); // *env++; // } // fock创建进程 // fock创建的子进程一般用来执行新的程序 signal(SIGUSR1,weak_process); pid_t pid = fork(); if (pid == 0) { printf("I am child process %d\n", getpid()); sleep(10); _exit(0); } else if (pid > 0) { sleep(1); kill(pid,SIGUSR1); wait(NULL); // printf("pit = %d\n",pid); printf("I am parent process %d\n", getpid()); } else { printf("fork error\n"); } return 0; }