# Comment savoir si un pid tourne dans un container?

**URL:** <https://www.debian-fr.org/t/comment-savoir-si-un-pid-tourne-dans-un-container/82345>\
**Category:** Support Debian\
**Created:** [Juin 17, 2020, 4:49 UTC](https://www.debian-fr.org/t/comment-savoir-si-un-pid-tourne-dans-un-container/82345 "2020-06-17T04:49:33Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![PmGs](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/p/dfb087/32.png) [@PmGs](https://www.debian-fr.org/u/PmGs)\
**Post date:** [Juin 17, 2020, 4:49 UTC](https://www.debian-fr.org/t/comment-savoir-si-un-pid-tourne-dans-un-container/82345/1 "2020-06-17T04:49:33Z")

</div>

Bonjour,  
La fonction ps retourne la liste des processus en cours mais je ne trouve pas d’option qui permette d’afficher le container éventuel dans lequel tourne les processus. Y a-t-il une option de ps que je n’ai pas trouvée? Une autre commande?  
Merci d’avance.

---

<div class="post-metadata">

**Author:** ![Sputnik93](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/s/35a633/32.png) [@Sputnik93](https://www.debian-fr.org/u/Sputnik93)\
**Post date:** [Juin 17, 2020, 2:41 UTC](https://www.debian-fr.org/t/comment-savoir-si-un-pid-tourne-dans-un-container/82345/2 "2020-06-17T14:41:20Z")

</div>

Bonjour,

> [@PmGs](#):
>
> Y a-t-il une option de ps que je n’ai pas trouvée?

Tu peux faire afficher le cgroup par `ps`, les processus d’un conteneur docker par exemple sont dans un groupe de contrôle séparé.

Par exemple j’ai lancé un conteneur docker dans lequel j’ai démarré le serveur openssh-server, je repère son PID:

```auto
alex-boulot@debian-probook:~$ sudo ps aux | grep sshd
root 708 0.0 0.0 15948 4520 ? Ss 01:30 0:00 /usr/sbin/sshd -D
root 21570 0.0 0.0 15856 2540 ? Ss 16:31 0:00 /usr/sbin/sshd
alex-bo+ 21775 0.0 0.0 6092 824 pts/4 S+ 16:36 0:00 grep sshd

```

Du coup je sais que c’est le processus 21570, vu l’heure, le 708 est le PID du serveur SSH de ma machine hôte.  
Tu peux comparer les 2 sorties de ps:

```auto
alex-boulot@debian-probook:~$ sudo ps -o cgroup 21570
CGROUP
11:perf_event:/docker/9c8cd08741c8e0180c10c18b97536cdf78af36d8d9294e8dccc6dcadd67271d6,10:devices:/docker/9c8cd08741c8e0180c10c18b97536cdf78af36d8d9294e8dccc6dcadd67271d6,9:blk

alex-boulot@debian-probook:~$ sudo ps -o cgroup 708
CGROUP
10:devices:/system.slice/ssh.service,9:blkio:/system.slice/ssh.service,7:cpu,cpuacct:/system.slice/ssh.service,5:pids:/system.slice/ssh.service,3:memory:/system.slice/ssh.servi

```

Je t’avoue que la sortie de ces commandes reste assez obscure pour moi, mais on voit qu’il y a «&nbsp;docker&nbsp;» dans la sortie de la 1ère commande.

Tu dois pouvoir bricoler quelque chose avec ps pour afficher les cgroup de tous les processus et filtrer la sortie selon qu’elle contienne «&nbsp;docker&nbsp;» ou non. Je ne sais pas ce que ça vaut comme technique, c’est surtout une idée comme ça.

PS: si tu connais le PID du processus, systemctl status affiche aussi le CGroup:

```auto
alex-boulot@debian-probook:~$ systemctl status 21570
● containerd.service - containerd container runtime
   Loaded: loaded (/lib/systemd/system/containerd.service; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2020-06-16 23:31:17 CEST; 17h ago
     Docs: https://containerd.io
  Process: 689 ExecStartPre=/sbin/modprobe overlay (code=exited, status=0/SUCCESS)
 Main PID: 698 (containerd)
    Tasks: 30
   Memory: 65.8M
   CGroup: /system.slice/containerd.service
           ├─ 698 /usr/bin/containerd
           ├─21088 containerd-shim -namespace moby -workdir /var/lib/containerd/io.containerd.runtime.v1.linux/moby/9c8cd08741c8e0180c10c18b97536cdf78af36d8d9294e8dccc6dcadd672
           ├─21104 bash
           ├─21243 /bin/bash
           └─21570 /usr/sbin/sshd

```

De même, `systemctl status containerd` affiche les PID de ses processus fils, qui sont donc exécutés dans un conteneur.

---

<div class="post-metadata">

**Author:** ![Clochette](https://www.debian-fr.org/user_avatar/www.debian-fr.org/clochette/32/8757_2.png) [@Clochette](https://www.debian-fr.org/u/Clochette)\
**Post date:** [Juin 17, 2020, 5:41 UTC](https://www.debian-fr.org/t/comment-savoir-si-un-pid-tourne-dans-un-container/82345/3 "2020-06-17T17:41:13Z")

</div>

Sinon le but est de tracer tes containers, avec docker tu as la possibilité de passer par un docker ps ou un docker ps -a.

un gros +1 pour le systemctl status sur le pid 😉

---

<div class="post-metadata">

**Author:** ![PmGs](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/p/dfb087/32.png) [@PmGs](https://www.debian-fr.org/u/PmGs)\
**Post date:** [Juin 18, 2020, 4:57 UTC](https://www.debian-fr.org/t/comment-savoir-si-un-pid-tourne-dans-un-container/82345/4 "2020-06-18T04:57:04Z")

</div>

Merci à vous deux Sputnik93 et Clochette

- ps -o cgroup permet de répondre à ma question

Par contre je n’utilise pas Docker ja vais regarder de ce côté ou installer lxc-ps?
