X-Git-Url: https://git.camperquake.de/gitweb.cgi?a=blobdiff_plain;f=lib%2Flibzfs%2Flibzfs_util.c;h=5f6763c49010ae2c126b55a82d0c4834954f2543;hb=34037afe24e0bff97cf5262f8f1a76f5e0815dc1;hp=f55b658d041dfbf6d5e566c9e5d6ea6fd79d46cf;hpb=826ab7ad1931eb8351af1f4f4b7a65f8b0c45839;p=zfs.git diff --git a/lib/libzfs/libzfs_util.c b/lib/libzfs/libzfs_util.c index f55b658..5f6763c 100644 --- a/lib/libzfs/libzfs_util.c +++ b/lib/libzfs/libzfs_util.c @@ -635,15 +635,22 @@ int libzfs_run_process(const char *path, char *argv[], int flags) { pid_t pid; - int rc; + int rc, devnull_fd; pid = vfork(); if (pid == 0) { + devnull_fd = open("/dev/null", O_WRONLY); + + if (devnull_fd < 0) + _exit(-1); + if (!(flags & STDOUT_VERBOSE)) - close(STDOUT_FILENO); + (void) dup2(devnull_fd, STDOUT_FILENO); if (!(flags & STDERR_VERBOSE)) - close(STDERR_FILENO); + (void) dup2(devnull_fd, STDERR_FILENO); + + close(devnull_fd); (void) execvp(path, argv); _exit(-1);