diff options
Diffstat (limited to 'extension/testfork.awk')
-rw-r--r-- | extension/testfork.awk | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/extension/testfork.awk b/extension/testfork.awk new file mode 100644 index 00000000..ca00dca8 --- /dev/null +++ b/extension/testfork.awk @@ -0,0 +1,20 @@ +BEGIN { + extension("./fork.so", "dlload") + + printf "before fork, pid = %d, ppid = %d\n", PROCINFO["pid"], + PROCINFO["ppid"] + + fflush() + ret = fork() + if (ret < 0) + printf("ret = %d, ERRNO = %s\n", ret, ERRNO) + else if (ret == 0) + printf "child, pid = %d, ppid = %d\n", PROCINFO["pid"], + PROCINFO["ppid"] + else { + system("sleep 3") + printf "parent, ret = %d\n", ret + printf "parent, pid = %d, ppid = %d\n", PROCINFO["pid"], + PROCINFO["ppid"] + } +} |