diff options
Diffstat (limited to 'net-p2p/amule-devel/files/amuled.in')
-rw-r--r-- | net-p2p/amule-devel/files/amuled.in | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/net-p2p/amule-devel/files/amuled.in b/net-p2p/amule-devel/files/amuled.in new file mode 100644 index 000000000000..2d6af76340f7 --- /dev/null +++ b/net-p2p/amule-devel/files/amuled.in @@ -0,0 +1,69 @@ +#!/bin/sh + +# $FreeBSD$ +# +# aMule RCng startup script +# Ogirinal work from Gabriele Cecchetti (amule.org forum) +# +# PROVIDE: amuled +# REQUIRE: NETWORKING SERVERS +# BEFORE: DAEMON +# KEYWORD: shutdown +# +# Add the following lines to /etc/rc.conf to enable amuled at startup +# amuled (bool): Set to "NO" by default. +# Set it to "YES" to enable amuled +# amuled_user (str): Set to user running amuled +# (default 'aMule') +# amuled_home (str): Set to home directory of user running amuled +# (default /home/${amuled_user}) + +. /etc/rc.subr + +name="amuled" +rcvar=amuled_enable + +load_rc_config $name + +[ -z "$amuled_enable" ] && amuled_enable="NO" +[ -z "$amuled_user" ] && amuled_user="aMule" +[ -z "$amuled_home" ] && amuled_home="/home/${amuled_user}" + +required_dirs=${amuled_home} +required_files="${amuled_home}/.aMule/amule.conf" + +start_cmd="${name}_start" +stop_cmd="${name}_stop" + +amuled_start() +{ + if [ ! -f /var/run/${name}.run ] + then + su -l ${amuled_user} -c "amuled &" 2>>/var/log/${name}.log >>/var/log/${name}.log && touch /var/run/${name}.run + echo "Started ${name}." + echo `date` : "Started ${name}." >> /var/log/${name}.log + else + echo "${name} seems to be already running -- remove /var/run/${name}.run manually if needed." + fi +} + +amuled_stop() +{ + if [ -f /var/run/${name}.run ] + then + # The following line is much better, but doesn't stop totally amuled + # su -l ${amuled_user} -c "amulecmd -c Shutdown" 2>>/var/log/${name}.log >>/var/log/${name}.log + # Since amuled catches SIGTERM, this way is preferred for now + killall -TERM amuled 2>>/var/log/${name}.log >>/var/log/${name}.log ; sleep 3 + killall -KILL amuled 2>>/var/log/${name}.log >>/var/log/${name}.log + # Also kill amuleweb if needed + killall -KILL amuleweb 2>/dev/null >/dev/null + rm -f /var/run/${name}.run + echo "Stopped ${name}." + echo `date` : "Stopped ${name}." >> /var/log/${name}.log + else + echo "${name} doesn't seem to be running -- create /var/run/${name}.run if needed." + fi +} + +run_rc_command "$1" |