PETSc version 3.17.0
Fix/Edit manual page

# PetscPOpen

Runs a program on processor zero and sends either its input or output to a file.

### Synopsis

    PetscErrorCode  PetscPOpen(MPI_Comm comm,const char machine[],const char program[],const char mode[],FILE **fp)

Logically Collective, but only process 0 runs the command

### Input Parameters

| comm | - MPI communicator, only processor zero runs the program
| machine | - machine to run command on or NULL, or string with 0 in first location
| program | - name of program to run
| mode | - either r or w

### Output Parameter

| fp | - the file pointer where program input or output may be read or NULL if don't care

### Notes

Use PetscPClose() to close the file pointer when you are finished with it Does not work under Windows

If machine is not provided will use the value set with PetsPOpenSetMachine() if that was provided, otherwise will use the machine running node zero of the communicator

The program string may contain ${DISPLAY}, ${HOMEDIRECTORY} or ${WORKINGDIRECTORY}; these will be replaced with relevant values.

### See Also

PetscFOpen(), PetscFClose(), PetscPClose(), PetscPOpenSetMachine()

### Level

intermediate

### Location

src/sys/fileio/mpiuopen.c
Index of all Sys routines
Table of Contents for all manual pages
Index of all manual pages