sysctl revision 181070
1#!/bin/sh 2# 3# $FreeBSD: head/etc/rc.d/sysctl 181070 2008-07-31 21:57:35Z jhb $ 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 19# 20# Read in a file containing sysctl settings and set things accordingly. 21# 22parse_file() 23{ 24 if [ -f $1 ]; 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 sysctl "${var}" 40 ;; 41 esac 42 elif [ "$2" = "last" ]; then 43 warn "sysctl ${mib} does not exist." 44 fi 45 ;; 46 esac 47 done < $1 48 fi 49} 50 51sysctl_start() 52{ 53 54 parse_file /etc/sysctl.conf $1 55 parse_file /etc/sysctl.conf.local $1 56} 57 58load_rc_config $name 59run_rc_command "$1" 60