---
name: "proc_pid_task"
section: "5"
platform: "linux"
package: "man-pages"
version: "6.19-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/proc_pid_task"
---

# proc\_pid\_task(5)

thread information

## NAME

/proc/pid/task/, /proc/tid/, /proc/thread-self/ - thread information

## DESCRIPTION

- */proc/*pid*/task/* (since Linux 2.6.0)

  This is a directory that contains one subdirectory for each thread in the process. The name of each subdirectory is the numerical thread ID (*tid*) of the thread (see [**gettid**(2)](/gettid/2.md)).

-

  Within each of these subdirectories, there is a set of files with the same names and contents as under the */proc/*pid directories. For attributes that are shared by all threads, the contents for each of the files under the *task/*tid subdirectories will be the same as in the corresponding file in the parent */proc/*pid directory (e.g., in a multithreaded process, all of the *task/*tid*/cwd* files will have the same value as the */proc/*pid*/cwd* file in the parent directory, since all of the threads in a process share a working directory). For attributes that are distinct for each thread, the corresponding files under *task/*tid may have different values (e.g., various fields in each of the *task/*tid*/status* files may be different for each thread), or they might not exist in */proc/*pid at all.

-

  In a multithreaded process, the contents of the */proc/*pid*/task* directory are not available if the main thread has already terminated (typically by calling [**pthread\_exit**(3)](/pthread_exit/3.md)).

-

  See also:

  - [**proc\_tid\_children**(5)](/proc_tid_children/5.md).

    - */proc/*tid*/*

  There is a numerical subdirectory for each running thread that is not a thread group leader (i.e., a thread whose thread ID is not the same as its process ID); the subdirectory is named by the thread ID. Each one of these subdirectories contains files and subdirectories exposing information about the thread with the thread ID *tid*. The contents of these directories are the same as the corresponding */proc/*pid*/task/*tid directories.

-

  The */proc/*tid subdirectories are *not* visible when iterating through */proc* with [**getdents**(2)](/getdents/2.md) (and thus are *not* visible when one uses [**ls**(1)](/ls/1.md) to view the contents of */proc*). However, the pathnames of these directories are visible to (i.e., usable as arguments in) system calls that operate on pathnames.

- */proc/thread-self/* (since Linux 3.17)

  This directory refers to the thread accessing the */proc* filesystem, and is identical to the */proc/self/task/*tid directory named by the process thread ID (*tid*) of the same thread.

## SEE ALSO

[**proc**(5)](/proc/5.md)
