1*43051d27SRobert Mustacchi.\" 2*43051d27SRobert Mustacchi.\" This file and its contents are supplied under the terms of the 3*43051d27SRobert Mustacchi.\" Common Development and Distribution License ("CDDL"), version 1.0. 4*43051d27SRobert Mustacchi.\" You may only use this file in accordance with the terms of version 5*43051d27SRobert Mustacchi.\" 1.0 of the CDDL. 6*43051d27SRobert Mustacchi.\" 7*43051d27SRobert Mustacchi.\" A full copy of the text of the CDDL should have accompanied this 8*43051d27SRobert Mustacchi.\" source. A copy of the CDDL is also available via the Internet at 9*43051d27SRobert Mustacchi.\" http://www.illumos.org/license/CDDL. 10*43051d27SRobert Mustacchi.\" 11*43051d27SRobert Mustacchi.\" 12*43051d27SRobert Mustacchi.\" Copyright 2015 Joyent, Inc. 13*43051d27SRobert Mustacchi.\" 14*43051d27SRobert Mustacchi.Dd May 11, 2016 15*43051d27SRobert Mustacchi.Dt PCTFLD 3PROC 16*43051d27SRobert Mustacchi.Os 17*43051d27SRobert Mustacchi.Sh NAME 18*43051d27SRobert Mustacchi.Nm Pctlfd 19*43051d27SRobert Mustacchi.Nd obtain the process control file descriptor 20*43051d27SRobert Mustacchi.Sh SYNOPSIS 21*43051d27SRobert Mustacchi.Lb libproc 22*43051d27SRobert Mustacchi.In libproc.h 23*43051d27SRobert Mustacchi.Ft int 24*43051d27SRobert Mustacchi.Fo Pctlfd 25*43051d27SRobert Mustacchi.Fa "struct ps_prochandle *P" 26*43051d27SRobert Mustacchi.Fc 27*43051d27SRobert Mustacchi.Sh DESCRIPTION 28*43051d27SRobert MustacchiThe 29*43051d27SRobert Mustacchi.Fn Pctlfd 30*43051d27SRobert Mustacchifunction returns a file descriptor to the underlying /proc file system 31*43051d27SRobert Mustacchi.Sy ctl 32*43051d27SRobert Mustacchifile for the process identified by the handle 33*43051d27SRobert Mustacchi.Fa P . 34*43051d27SRobert MustacchiThis may be used for injecting control operations manually; 35*43051d27SRobert Mustacchihowever, many interfaces for using it are provided by 36*43051d27SRobert Mustacchi.Xr libproc 3LIB 37*43051d27SRobert Mustacchiitself. 38*43051d27SRobert Mustacchi.Pp 39*43051d27SRobert MustacchiOnly live processes have a control file descriptor. Process handles that 40*43051d27SRobert Mustacchicorrespond to files and cores, created through 41*43051d27SRobert Mustacchi.Xr Prab_file 3PROC 42*43051d27SRobert Mustacchiand 43*43051d27SRobert Mustacchi.Xr Pgrab_core 3PROC , 44*43051d27SRobert Mustacchido not have a corresponding file descriptor. 45*43051d27SRobert Mustacchi.Pp 46*43051d27SRobert MustacchiThe file descriptor is invalidated when the process handle is released 47*43051d27SRobert Mustacchithrough 48*43051d27SRobert Mustacchi.Xr Prelease 3PROC 49*43051d27SRobert Mustacchior if control is lost and the handle is reopened. 50*43051d27SRobert Mustacchi.Sh RETURN VALUES 51*43051d27SRobert MustacchiUpon successful completion, the 52*43051d27SRobert Mustacchi.Fn Pctlfd 53*43051d27SRobert Mustacchifunction returns a valid file descriptor. Otherwise, if none exists, 54*43051d27SRobert Mustacchithen 55*43051d27SRobert Mustacchi.Sy -1 56*43051d27SRobert Mustacchiis returned. 57*43051d27SRobert Mustacchi.Sh INTERFACE STABILITY 58*43051d27SRobert Mustacchi.Sy Uncommitted 59*43051d27SRobert Mustacchi.Sh MT-LEVEL 60*43051d27SRobert MustacchiSee 61*43051d27SRobert Mustacchi.Sy LOCKING 62*43051d27SRobert Mustacchiin 63*43051d27SRobert Mustacchi.Xr libproc 3LIB . 64*43051d27SRobert Mustacchi.Sh SEE ALSO 65*43051d27SRobert Mustacchi.Xr libproc 3LIB , 66*43051d27SRobert Mustacchi.Xr Pcreate 3PROC , 67*43051d27SRobert Mustacchi.Xr Pgrab 3PROC , 68*43051d27SRobert Mustacchi.Xr Pgrab_core 3PROC , 69*43051d27SRobert Mustacchi.Xr Pgrab_file 3PROC , 70*43051d27SRobert Mustacchi.Xr Prelease 3PROC , 71*43051d27SRobert Mustacchi.Xr Preopen 3PROC , 72*43051d27SRobert Mustacchi.Xr proc 4 73