blob: 33ad702074732c786362e2ae1d58eb588ebd4e5a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
#!/bin/bash
cd /tmp
PID=""
for i in $(seq 1 200); do PID=$(pgrep -x vk_frame | head -1); [ -n "$PID" ] && break; sleep 0.05; done
END=$((SECONDS+45))
while [ $SECONDS -lt $END ]; do
[ -d /proc/$PID ] || break
for m in $(grep 'nvidiactl' /proc/$PID/maps 2>/dev/null | awk '$2 ~ /rw-s/ {print $1}'); do
lo=${m%-*}; hi=${m#*-}
size=$((0x$hi - 0x$lo))
[ $size -gt 65536 ] && continue
off=$((0x$lo + 0x2e))
v=$(dd if=/proc/$PID/mem bs=1 skip=$off count=2 2>/dev/null | xxd -p)
if [ "$v" = "ffff" ]; then
printf '\x00\x00' | dd of=/proc/$PID/mem bs=1 seek=$off count=2 conv=notrunc 2>/dev/null
fi
done
sleep 0.1
done
|