pid man page

pid — Retrieve process identifiers


pid ?fileId?


If the fileId argument is given then it should normally refer to a process pipeline created with the open command. In this case the pid command will return a list whose elements are the process identifiers of all the processes in the pipeline, in order. The list will be empty if fileId refers to an open file that is not a process pipeline. If no fileId argument is given then pid returns the process identifier of the current process. All process identifiers are returned as decimal strings.


Print process information about the processes in a pipeline using the SysV ps program before reading the output of that pipeline:

set pipeline [open "| zcat somefile.gz | grep foobar | sort -u"]
# Print process information
exec ps -fp [pid $pipeline] >@stdout
# Print a separator and then the output of the pipeline
puts [string repeat - 70]
puts [read $pipeline]
close $pipeline

See Also

exec(n), open(n)


file, pipeline, process identifier

Referenced By


Explore man page connections for pid(n).

Tcl 7.0 Tcl Built-In Commands