我正在尝试学习 cgroups-v2 并练习它。cgroups-v2 文档指出,输入 pid 是向 cgroups-v2 添加程序的唯一方法。有没有其他方法可以将程序的可执行文件添加到 cgroups-v2?
即而不是这样做:
echo "34578" > /sys/fs/cgroup/Example/tasks/cgroup.procs
我可以对可执行文件执行此操作吗,例如:
echo "/usr/bin/firefox/firefox > /sys/fs/cgroup/Example/tasks/cgroup.procs
我每次都必须知道程序的 pid 是什么来控制其资源吗?(我还发现systemd-run在systemd-run 解决方案中也可以完成类似的事情,但是,由于我尝试学习 cgroups-v2,所以它超出了主题)。
是的,您需要知道 PID。
例如,您可以
/bin/sh
运行 20 个不同的进程,并且它们需要位于不同的 cgroup 中。因此,在可执行文件之间进行划分几乎没有意义,实际上!很容易找出只运行一次的东西的 PID,但是:
会做你说你想做的。值得怀疑的是,它实际上是您所需要的,因为 firefox(和其他浏览器一样)确实会产生多个进程。