aboutsummaryrefslogtreecommitdiffstats
path: root/modules/viewvc/templates/kill_viewvc.sh
diff options
context:
space:
mode:
Diffstat (limited to 'modules/viewvc/templates/kill_viewvc.sh')
-rwxr-xr-xmodules/viewvc/templates/kill_viewvc.sh12
1 files changed, 12 insertions, 0 deletions
diff --git a/modules/viewvc/templates/kill_viewvc.sh b/modules/viewvc/templates/kill_viewvc.sh
new file mode 100755
index 00000000..7283a10c
--- /dev/null
+++ b/modules/viewvc/templates/kill_viewvc.sh
@@ -0,0 +1,12 @@
+#!/bin/sh
+# Kill viewvc if the process gets too large
+max_memory=1000000 # size in KiB
+
+for process in $(pgrep viewvc.fcgi)
+do
+ process_mem=$(pmap "$process" | grep total | sed 's/ \+total \+\([[:digit:]]\+\)K/\1/')
+ if [ -n "$process_mem" ] && [ "$process_mem" -gt "$max_memory" ]
+ then
+ kill -15 "$process"
+ fi
+done