Skip to content

Instantly share code, notes, and snippets.

@Waltibaba
Last active February 5, 2020 21:34
Show Gist options
  • Save Waltibaba/2ce07cb7054e7bc8501a1014decb3811 to your computer and use it in GitHub Desktop.
Save Waltibaba/2ce07cb7054e7bc8501a1014decb3811 to your computer and use it in GitHub Desktop.
#!/bin/bash
echo "testing for sudo"
sudo date
if [ $? -ne 0 ]
then
echo "failed sudo"
return -1
fi
PIDFILE=steam.pid
if [[ -z `cat $PIDFILE` ]]
then
STEAMCGROUP=/sys/fs/cgroup/net_cls/steamblock
if [ ! -d $STEAMCGROUP ]
then
sudo mkdir -p $STEAMCGROUP
fi
sudo echo 42 | sudo tee $STEAMCGROUP/net_cls.classid
sudo iptables -A OUTPUT -m cgroup --cgroup 42 -j DROP
nohup steam > steam.log &
echo "waiting for steam start"
for i in {1..10}
do
echo "."
sleep 1
done
steamPIDs=$(pidof steam | tr " " "\n")
> $PIDFILE
for pid in $steamPIDs
do
echo $pid >> $PIDFILE
for subpid in $(pstree -p $pid | grep -o '([0-9]\+)' | grep -o '[0-9]\+')
do
echo $subpid >> $PIDFILE
done
done
for pid in $(cat $PIDFILE)
do
echo $pid | sudo tee $STEAMCGROUP/tasks
done
else
# for pid in `cat $PIDFILE`
# do
# echo $pid | sudo tee /sys/fs/cgroup/net_cls/tasks
# # done
> $PIDFILE
sudo killall steam
fi
@Waltibaba
Copy link
Author

Great for steam library sharing...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment