fork download
  1. #include <errno.h>
  2. #include <signal.h>
  3. #include <stdio.h>
  4. #include <string.h>
  5. #include <sys/types.h>
  6. #include <unistd.h>
  7.  
  8. int main() {
  9. int rc;
  10. int fork_pid = fork();
  11. if (fork_pid == 0) {
  12. for(;;);
  13. }
  14. rc = setpgid(fork_pid, getpid());
  15. printf("setpgid(%d, %d) = %d %s\n", fork_pid, getpid(), rc, strerror(errno));
  16.  
  17. rc = kill(-fork_pid, 9);
  18. printf("kill(%d, %d) = %d %s\n", -fork_pid, 9, rc, strerror(errno));
  19.  
  20. rc = kill(fork_pid, 9);
  21. printf("kill(%d, %d) = %d %s\n", fork_pid, 9, rc, strerror(errno));
  22. }
  23.  
Success #stdin #stdout 0s 2160KB
stdin
Standard input is empty
stdout
setpgid(1096, 1087) = 0 Success
kill(-1096, 9) = -1 No such process
kill(1096, 9) = 0 No such process