#include <stdio.h>
#include <unistd.h>
int main() {
int pid1, pid2, pid3, pid4, pid5, pid6;
pid1 = fork();
if (pid1 == 0) {
pid2 = fork();
} else {
char *execArgs[] = { "echo", "Process replaced!", NULL };
execvp("echo", execArgs);
}
pid3 = fork();
if (pid4 != 0) {
char *execArgs[] = { "echo", "Process replaced!", NULL };
execvp("echo", execArgs);
} else {
if (pid1 != 0) {
pid5 = fork();
char *execArgs[] = { "echo", "Process replaced!", NULL };
execvp("echo", execArgs);
}
}
if (pid2 > 0) {
pid6 = fork();
} else {
char *execArgs[] = { "echo", "Process replaced!", NULL };
execvp("echo", execArgs);
}
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDx1bmlzdGQuaD4KCmludCBtYWluKCkgewogICAgaW50IHBpZDEsIHBpZDIsIHBpZDMsIHBpZDQsIHBpZDUsIHBpZDY7CgogICAgcGlkMSA9IGZvcmsoKTsKCiAgICBpZiAocGlkMSA9PSAwKSB7CiAgICAgICAgcGlkMiA9IGZvcmsoKTsKICAgICAgICBwcmludGYoIkEgXG4iKTsKICAgIH0gZWxzZSB7CiAgICAgICAgY2hhciAqZXhlY0FyZ3NbXSA9IHsgImVjaG8iLCAiUHJvY2VzcyByZXBsYWNlZCEiLCBOVUxMIH07CiAgICAgICAgZXhlY3ZwKCJlY2hvIiwgZXhlY0FyZ3MpOwogICAgfQoKICAgIHByaW50ZigiQiBcbiIpOwoKICAgIHBpZDMgPSBmb3JrKCk7CgogICAgaWYgKHBpZDQgIT0gMCkgewogICAgICAgIHByaW50ZigiQyBcbiIpOwogICAgICAgIGNoYXIgKmV4ZWNBcmdzW10gPSB7ICJlY2hvIiwgIlByb2Nlc3MgcmVwbGFjZWQhIiwgTlVMTCB9OwogICAgICAgIGV4ZWN2cCgiZWNobyIsIGV4ZWNBcmdzKTsKICAgIH0gZWxzZSB7CiAgICAgICAgaWYgKHBpZDEgIT0gMCkgewogICAgICAgICAgICBwaWQ1ID0gZm9yaygpOwogICAgICAgICAgICBjaGFyICpleGVjQXJnc1tdID0geyAiZWNobyIsICJQcm9jZXNzIHJlcGxhY2VkISIsIE5VTEwgfTsKICAgICAgICAgICAgZXhlY3ZwKCJlY2hvIiwgZXhlY0FyZ3MpOwogICAgICAgICAgICBwcmludGYoIkQgXG4iKTsKICAgICAgICB9CiAgICB9CgogICAgaWYgKHBpZDIgPiAwKSB7CiAgICAgICAgcGlkNiA9IGZvcmsoKTsKICAgICAgICBwcmludGYoIkUgXG4iKTsKICAgIH0gZWxzZSB7CiAgICAgICAgcHJpbnRmKCJGIFxuIik7CiAgICAgICAgY2hhciAqZXhlY0FyZ3NbXSA9IHsgImVjaG8iLCAiUHJvY2VzcyByZXBsYWNlZCEiLCBOVUxMIH07CiAgICAgICAgZXhlY3ZwKCJlY2hvIiwgZXhlY0FyZ3MpOwogICAgfQoKICAgIHByaW50ZigiRyBcbiIpOwoKICAgIHJldHVybiAwOwp9Cg==