---
name: "pid"
section: "n"
platform: "macos"
package: "tcl"
version: "152"
release: "macOS 26.5"
platforms: ["linux", "macos"]
url: "https://new.carta.tech/pid/n"
---

# pid(n)

Retrieve process identifiers

## NAME

pid - Retrieve process identifiers

## SYNOPSIS

**pid** ?*fileId*?

## DESCRIPTION

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.

## EXAMPLE

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)](/exec/n.md), [open(n)](/open/n.md)

## KEYWORDS

file, pipeline, process identifier
