rfio_popen(3) start a process and open a pipe to it

Other Alias

rfio_pclose

SYNOPSIS

#include <sys/types.h>
#include "rfio_api.h"

FILE *rfio_popen (const char *command, const char *type);

int rfio_pclose (FILE *fs);

DESCRIPTION

rfio_popen starts a process and opens a pipe to it.

command is a pointer to a string specifying the shell command to be executed.

type is a mode indicator for the pipe. One of the characters "r" or "w".

rfio_pclose waits for the forked process to terminate and returns the exit status of the command.

EXAMPLE

        int c;
        FILE *rf;
        rf = rfio_popen (command, "r");
        if (rf == NULL) {
                rfio_perror ("rfio_popen");
                exit (1);
        }
        while ((c = rfio_pread (buf, 1, sizeof(buf), rf)) > 0) {
                ...
        }
        c = rfio_pclose (rf);

RETURN VALUE

This routine returns NULL if the operation failed or a non-NULL pointer to a FILE structure if the operation was successful. If it fails, serrno variable is set appropriately.

ERRORS

ENOMEM
Not enough memory.
EINVAL
The mode provided is invalid.
ECONNRESET
Connection reset by peer
ETIMEDOUT
Connection timed out
ECONNREFUSED
Connection refused
EHOSTUNREACH
No route to host
SENOSHOST
Host unknown.
SENOSSERV
Service unknown.
SEUMSG2LONG
Command string too long.
SECOMERR
Communication error.

AUTHOR

LCG Grid Deployment Team