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


Edit on GitLab

Index of all Sys routines
Table of Contents for all manual pages
Index of all manual pages