25/04/08 18:05:53.82 f9O97Hv70.net
sudo で実行すると execl が動作しないように見える。なぜ?
$ cat -n e.c
1 #include <stdio.h>
2 #include <unistd.h>
3
4 int main() {
5 pid_t pid;
6 if ((pid = fork()) > 0) return 0;
7 else if (pid < 0) return 1;
8 execl("/bin/bash", "/bin/bash", "-c", "echo $$ $PPID >> /tmp/log", NULL);
9 _exit(2);
10 }
$ gcc -g e.c
$ ./a.out
$ cat /tmp/log
10593 1566
$ sudo ./a.out
$ cat /tmp/log
10593 1566
$