Intereting Posts
sed удаляет все до и включая первый период, если в этой строке более одного периода, и делайте это для всего файла Как запустить скрипт после подключения к ssh Могу ли я заставить 7z пропускать сжатие (но не включать) определенных файлов при сжатии каталога с его подсистемами? Как установить Vinux на Mac? dd-wrt: запретить доступ VAP к Интернету Как узнать, когда была запущена / остановлена ​​/ перезапущена служба systemd? Беда с ffmpeg и найти Ядро Linux: нарушение пользовательского пространства Debian: Ошибка загрузки при установке sda с «недопустимым аргументом» Как я могу сделать tcsh эхом время выполнения команды до ее выполнения? Отключение видеовыхода по умолчанию с помощью xrandr при подключении внешнего монитора Синхронизация локальных файлов с удаленным репозиторием git Сложная команда поиска с несколькими сокращениями Случайно удален / bin / su /etc/init.d/script или / etc / inittab – respawn on die

Пользователь Docker, выполняющий процесс, не может быть удален

У меня есть некоторые ресурсы, используемые конкретным пользователем, которых я должен был удалить, потому что у него было много ресурсов с сервера. Когда я перечислял процессы на сервере, удаленный пользователь теперь показывает как «1001» вместо имени, которое он показывал, прежде чем я удалю его.

%Cpu(s): 19.8 us, 29.5 sy, 0.0 ni, 50.7 id, 0.0 wa, 0.0 hi, 0.1 si, 0.0 st KiB Mem : 3882456 total, 183568 free, 2003808 used, 1695080 buff/cache KiB Swap: 1679356 total, 1155300 free, 524056 used. 1463480 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 9192 1001 20 0 2068436 74700 10284 S 0.3 1.9 3:02.86 node 

Используя systemctl status я обнаружил, что процесс и идентификатор контейнера докера, который выполняется пользователем, находятся в:

  ├─docker │ ├─42b40e73687acb7fcd9a0e43372ced7588b5568c942f740d06510ab0e85b1462 │ │ ├─17156 /bin/sh -e /usr/local/sbin/start.sh └─11148 node --debug --nolazy dist-release/server 

Итак, я вошел в контейнер, и я смотрю на файл start.sh, но это всего лишь исполняемый файл, внутри файла нет указателя, вызываемого пользователем внутри исполняемого файла.

 CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES apiassets_1 42b40e73687a local.io/api-statements:development "start.sh" 21 hours ago Up 18 hours 0.0.0.0:32785->3000/tcp, 0.0.0.0:5966->5858/tcp 

Я хочу, чтобы этот пользователь не использовал эти ресурсы, поэтому мне было просто любопытно, как я могу найти, как этот пользователь вызывает этот скрипт, чтобы остановить его или как его остановить.

Просто для всех, кто следит за моей проблемой. Было немного странно, что происходит, но пользователь, которому он выполнял этот процесс, имел тот же идентификатор внутри контейнера докера, что и хост, поэтому, когда я перечислял все процессы, пользовательский идентификатор пользователя внутри контейнера получал сопоставленному определенному пользователю, который у меня был на хосте. Это объясняет, почему, когда я удалял пользователя на хосте, я все еще видел, что процесс работает как «1001».

Итак, теперь я понимаю, что так оно и должно работать.

Я также посмотрел на этот инструмент csysdig на случай, если кому-то это интересно, что похоже на то, что оно решит проблему, подобную той, которая была у меня с тех пор, как она предоставит вам конкретную информацию о каждом контейнере. В моем случае я видел процессы, происходящие в хосте, а также в контейнерах, поэтому было действительно трудно проверить, что происходит.