我创建一个非 root 用户,然后运行一个简单的 bash(它只是休眠)。但是,该用户启动的进程属于 root 拥有的 cgroup。这使得我无法将进程移动到该非 root 用户拥有的 cgroup。非 root 用户如何将进程移动到他们拥有的 cgroup 中?
我使用的是 Ubuntu 22.04。这是cgroup v2。
bash main.sh &
[1] 2061
ps aux | grep main.sh | grep -v grep
user0 2061 0.0 0.6 7760 3336 pts/0 S+ 03:46 0:00 bash main.sh
cat /proc/2061/cgroup
0::/user.slice/user-1000.slice/session-3.scope
ls -l /sys/fs/cgroup/user.slice/user-1000.slice | grep session-3.scope
drwxr-xr-x 2 root root 0 Apr 13 03:45 session-3.scope
这是我创建 cgroup 的方法。
sudo mkdir /sys/fs/cgroup/myGroup0
sudo chown -R user0:user0 /sys/fs/cgroup/myGroup0
当我移动进程时,我的许可被拒绝。
echo "2061" > /sys/fs/cgroup/myGroup0/cgroup.procs
-bash: echo: write error: Permission denied