if (dc == -1)
err(1, "cannot fork");
else if (dc != 0) {
sigset_t set;
sigaddset(&set, SIGCHLD);
sigprocmask(SIG_UNBLOCK, &set, NULL);
signal(SIGCHLD, sigchld);
close(STDOUT_FILENO);
dup(p[1]);