sysctl revision 179965
1#!/bin/sh 2# 3# $FreeBSD: head/etc/rc.d/sysctl 179965 2008-06-23 22:06:28Z mtm $ 4# 5 6# PROVIDE: sysctl 7# REQUIRE: root 8# BEFORE: DAEMON 9 10. /etc/rc.subr 11 12name="sysctl" 13stop_cmd=":" 14start_cmd="sysctl_start" 15reload_cmd="sysctl_start" 16lastload_cmd="sysctl_start last" 17extra_commands="reload lastload" 18 19sysctl_start() 20{ 21 # 22 # Read in /etc/sysctl.conf and set things accordingly 23 # 24 if [ -f /etc/sysctl.conf ]; then 25 while read var comments 26 do 27 case ${var} in 28 \#*|'') 29 ;; 30 *) 31 mib=${var%=*} 32 val=${var#*=} 33 34 if current_value=`${SYSCTL} -n ${mib} 2>/dev/null`; then 35 case ${current_value} in 36 ${val}) 37 ;; 38 *) 39 if ! sysctl "${var}" >/dev/null 2>&1; then 40 warn "unable to set ${var}" 41 fi 42 ;; 43 esac 44 elif [ "$1" = "last" ]; then 45 warn "sysctl ${mib} does not exist." 46 fi 47 ;; 48 esac 49 done < /etc/sysctl.conf 50 fi 51} 52 53load_rc_config $name 54run_rc_command "$1" 55