Nimbin[12]?Mirrors & Forks / jhalfs / commits / 8e9343b

jhalfs git · trunk

jhalfs LFS build automation (mirror)

lfs mirror bash · first commit 2005-09-11 · last commit 2024-02-13 (2 years ago) · synced 3 days ago · upstream: git.linuxfromscratch.org/jhalfs

Python 78.4% Shell 19.8% Makefile 1.8%
git clone https://git.christianimmanuel.de/mirrors-forks/jhalfs.gitwget https://git.christianimmanuel.de/mirrors-forks/jhalfs/archive/jhalfs.tar.gz

Add forgotten run-with-cgroup.sh script

Pierre Labastie · 2023-11-15 18:37 · 8e9343b6323ae0792535c13289fc70de2f538c03

 common/run-in-cgroup.sh | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/common/run-in-cgroup.sh b/common/run-in-cgroup.sh
new file mode 100755
index 0000000..9891d72
--- /dev/null
+++ b/common/run-in-cgroup.sh
@@ -0,0 +1,19 @@
+#!/bin/bash
+
+if [ -z "$CPUSPEC" ] || [ "$#" -lt 1 ]; then
+	echo "usage: CPUSPEC=... $0 command"
+	exit 1
+fi
+
+set +e
+
+if type systemd-run >/dev/null 2>&1 ; then
+	sudo systemd-run -G --pty -d --uid=$(whoami) -p AllowedCPUs="$CPUSPEC" "$@"
+else
+	sudo mkdir /sys/fs/cgroup/jhalfs
+	sudo sh -c "echo +cpuset > /sys/fs/cgroup/cgroup.subtree_control"
+	sudo sh -c "echo \"$CPUSPEC\" > /sys/fs/cgroup/jhalfs/cpuset.cpus"
+	(sudo sh -c "echo $BASHPID > /sys/fs/cgroup/jhalfs/cgroup.procs" &&
+		exec "$@")
+	sudo rmdir /sys/fs/cgroup/jhalfs
+fi