LINUX.ORG.RU
ФорумAdmin

запуск в cgroup

 


0

1

Задача: запустить бинарник внутри cgroup,чтобы назначить classid и применить iptables, раньше была утилита cgexec которая входила в libcgroup, но библиотека конфликтует с systemd. Сейчас я использую колхоз: руками спавню шел, смотрю pid, пишу pid в tasks и из шелла запускаю бинарь. Вопрос: как мне запустить процесс внутри cgroup без шелла?

В смысле, конфликтует?

Я раскидываю процессы по группам с помощью cgrulesengd.

aidaho ★★★★★
()

«ip netns exec» но без обертки им пользоваться тяжко.

#!/bin/bash
name="$1"
cmd="$2"
shift 2
cname="${name##*/}"
PID=$(head -n 1 /sys/fs/cgroup/$name/tasks)
[ -n "$PID" -a -d "/proc/$PID/ns" ] || exit 1
lname="/var/run/netns/$cname"
mkdir -p /var/run/netns
ln -sf /proc/$PID/ns/net "$lname" && (
   ip netns exec "$cname" "$cmd" "$@"
   [ -L "$lname" ] && rm "$lname"
)
vel ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.