FreeBSD rc script example
Written by Kirill Filatov, on 15 February 2026.
Tags:
#freebsd
#bsd
Simple rc script for FreeBSD daemon
Despite that FreeBSD has excellent intorduction to rc scripting I found useful to have simple example of rc script at hand.
Say you wanna install torrserver on FreeBSD. It doesn’t have package you can install via pkg. So for the convenient usage you need following steps.
# Download precompiled FreeBSD version of Torrserver
# Add user
adduser torrserver
adduser -s /usr/sbin/nologin -D torrserver
# Create directories and files
mkdir /var/db/torrserver
touch /var/db/torrserver/config.db
chown -R torrserver /var/db/torrserver
touch /var/run/torrserver.pid
chown torrserver /var/run/torrserver.pid
touch /var/log/torrserver.log
chown torrserver /var/log/torrserver.log
# Create rc file in /usr/local/etc/rc.d dir
#!/bin/sh
#
# PROVIDE: torrserver
# REQUIRE: DAEMON
# KEYWORD: shutdown
#
# Add the following lines to /etc/rc.conf to enable uptimed:
#
# torrserver_enable="YES"
#
. /etc/rc.subr
name="torrserver"
rcvar=torrserver_enable
command="/usr/sbin/daemon"
procname=/usr/local/bin/${name}
pidfile=/var/run/torrserver.pid
#stop_postcmd="torrserver_poststop"
torrserver_user=torrserver
#torrserver_flags=""
torrserver_datadir="/var/db/torrserver"
torrserver_logfile="/var/log/torrserver.log"
command_args="-o ${torrserver_logfile} -p ${pidfile} ${procname} -d ${torrserver_datadir} -t <torrents_dir>"
#load_rc_config ${name}
: ${torrserver_enable="NO"}
: ${torrserver_pidfile="/var/run/${name}.pid"}
pidfile=${torrserver_pidfile}
#torrserver_flags="-p ${pidfile}"
run_rc_command "$1"
And here we are. You can start the server
service torrserver enable
service torrserver start