Покажет ли команда ps aux процессы контейнеров других пользователей в Linux?

«Покажет ли команда ps aux процессы контейнеров других пользователей в Linux?» — вопрос из категории Linux, который задают на 23% собеседований Devops Инженер. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Команда ps aux, запущенная внутри контейнера, покажет только процессы, видимые в его собственном PID namespace. По умолчанию процессы хоста и других контейнеров изолированы и не будут отображены.

Для просмотра всех процессов с хостовой системы, включая процессы внутри контейнеров, нужно выполнить ps aux непосредственно на хосте. Для Docker и Kubernetes существуют специализированные команды:

# Для Docker
sudo docker top <container_name_or_id>

# Для Kubernetes
kubectl top pod <pod_name>

Ключевой момент — изоляция пространств имён (namespaces). Чтобы ps aux внутри контейнера увидела внешние процессы, контейнер должен быть запущен с общим PID namespace (например, docker run --pid=host).