08/05/27 09:41:18
>>393
#include <stdio.h>
#include <unistd.h>
int main(int argc, char *argv[])
{
printf("argc=%d\n", argc);
if (fork() == 0) execl(argv[0], (char *)NULL);
return 0;
}
子プロセスのargcは0になる。
argv[0]は慣習では実行パス名へのポインタを渡すことになっているが、
慣習を破るプログラムをごく普通に書ける(環境はごく普通にある)。