PXFGETPPID

POSIX Subroutine: Gets the process ID of the parent of the calling process.

Module: USE IFPOSIX

Syntax

CALL PXFGETPPID (ippid, ierror)

ippid
(Output) INTEGER(4). The returned process ID.


ierror
(Output) INTEGER(4). The error status.

If successful, ierror is set to zero; otherwise, an error code.

Compatibility

CONSOLE STANDARD GRAPHICS QUICKWIN GRAPHICS WINDOWS DLL LIB

Example

program t1  
use ifposix  
integer(4) ipid, istat, ierror, ipid_ret, istat_ret  
  print *," the child process will be born"
  call PXFFORK(IPID, IERROR)
  call PXFGETPID(IPID_RET,IERROR)  
  if(IPID.EQ.0) then
     print *," I am a child process"
     print *," My child's pid is", IPID_RET
     call PXFGETPPID(IPID_RET,IERROR)
     print *," The pid of my parent is",IPID_RET
     print *," Now I have exited with code 0xABCD"
     call PXFEXIT(Z'ABCD')
  else
     print *," I am a parent process"
     print *," My parent pid is ", IPID_RET
     print *," I am creating the process with pid", IPID
     print *," Now I am waiting for the end of the child process"
     call PXFWAIT(ISTAT, IPID_RET, IERROR)
     print *," The child with pid ", IPID_RET," has exited"
     if( PXFWIFEXITED(ISTAT) ) then
       print *, " The child exited normally"
       istat_ret = IPXFWEXITSTATUS(ISTAT)
       print 10," The low byte of the child exit code is", istat_ret
     end if   
  end if
10 FORMAT (A,Z)  
end program