помогите с запуском этого..
)
rtorrent установился..через putty запускается..
rtorrent -n -o import=/opt/etc/rtorrent.conf так тоже работает..
как его через S99rtorrent сделать то??
прилепил..
убран запуск из под su
в таком виде запускается и все..
starting rtorrent:rtorrent.
и всё..в логе пусто..в процессах его нету..
- | +
- #!/bin/sh
user="root"
config="/opt/etc/rtorrent.conf"
options="-n -o import=${config}"
base="/tmp/usbmounts/sda1/torrent"
srnname="rtorrent"
logfile="/opt/var/log/rtorrentInit.log"
# this many seconds we will wait after sending signal
interrupt_timeout="10"
terminate_timeout="120"
kill_timeout="5"
PATH=/opt/bin:/opt/sbin:/usr/bin:/sbin:/bin:/usr/sbin
DESC="rtorrent"
NAME=rtorrent
DAEMON=$NAME
SCRIPTNAME=/data/icapp/etc/rcex.d/S99rtorrent
# Do not proceed unless some apps are available.
#[ -x "/opt/bin/screen" ] || { echo "screen not found." >> "$logfile" ; exit 2 ; }
#[ -x "/opt/bin/su" -o -x "/bin/su" ] || { echo "su not found." >> "$logfile" ; exit 2 ; }
test -x /opt/bin/screen || ( echo "screen not found." >> "$logfile" >&2 ; exit 2 )
test -x || ( echo "su not found." >> "$logfile" >&2 ; exit 2 )
checkcnfg() {
exists=false
old_IFS="$IFS"
IFS=":"
for d in $PATH ; do
full="$d/$DAEMON"
if [ -f "$full" -a -x "$full" ] ; then
exists=true
break
fi
done
IFS="${old_IFS}"
if ! $exists ; then
echo "Cannot find $DAEMON binary in PATH \"$PATH\"." >> "$logfile"
exit 3
fi
if ! [ -r "${config}" ] ; then
echo "Cannot find readable config \"${config}\". Check that it is there and permissions are appropriate." >> "$logfile"
exit 3
fi
session=`getsession "$config"`
if ! [ -d "${session}" ] ; then
echo "Cannot find readable session directory \"${session}\" from config \"${config}\". Check permissions." >> "$logfile"
exit 3
fi
}
d_start() {
session=`getsession "$config"`
if [ -e "${session}/rtorrent.lock" ] ; then
# remove lockfile
rm -f "${session}/rtorrent.lock"
fi
cmd="$DAEMON $options"
[ -d "${base}" ] && cd "${base}"
# stty stop undef
# stty start undef
screen -ls | grep -sq \."${srnname}"[[:space:]] ${user} || screen -dm -S "${srnname}" 2>&1 1>/dev/null "${user}" >>"$logfile" >&2
# this works for the screen command, but starting rtorrent below adopts screen session gid
# even if it is not the screen session we started (e.g. running under an undesirable gid
#su -c "screen -ls | grep -sq "\.${srnname}[[:space:]]" " ${user} || su -c "sg \"$group\" -c \"screen -fn -dm -S ${srnname} 2>&1 1>/dev/null\"" ${user} | tee -a "$logfile" >&2
screen -S "${srnname}" -X screen rtorrent ${options} 2>&1 1>/dev/null "${user}" >>"$logfile" >&2
}
# this works for the screen command, but starting rtorrent below adopts screen session gid
# even if it is not the screen session we started (e.g. running under an undesirable gid)
#su -c "screen -ls | grep -sq '\\.${srnname}[[:space:]]'" "${user}" || su -c "sg '$group' -c 'screen -fn -dm -S \"${srnname}\" 2>&1'" "${user}" >> "$logfile"
# if su -c "screen -ls | grep -sq '\\.${srnname}[[:space:]]'" "${user}" ; then
# # screen session is already running - send command
# su -c "screen -S '${srnname}' -X screen ${cmd} 2>&1" "${user}" >> "$logfile"
# else
# # no screen session - start one
# su -c "screen -dm -S '${srnname}' ${cmd} 2>&1" "${user}" >> "$logfile"
# fi
# if [ ! -h /tmp/share/webui/cgi-bin/rtorrent.cgi ]; then
# ln -s /opt/share/www/rtorrent.cgi /tmp/share/webui/cgi-bin/rtorrent.cgi
# fi
# if [ ! -h /tmp/share/webui/rtorrent.str ]; then
# ln -s /opt/share/www/rtorrent.str /tmp/share/webui/rtorrent.str
# fi
#}
# include `signal_and_wait` function
#. /tmp/opt/usr/lib/signal_and_wait.inc.sh
d_stop() {
session=`getsession "$config"`
# if ! [ -s "${session}/rtorrent.lock" ] ; then
# return
# fi
# pid=`cat "${session}/rtorrent.lock" | awk -F':' '{print($2)}' | sed 's/[^0-9]//g'`
pid=`pidof $NAME`
if ls -l "/proc/${pid}/exe" | grep -q '/rtorrent$' # make sure the pid doesn't belong to another process
then
# send SIGINT (normal shutdown) and wait ${interrupt_timeout} seconds
if signal_and_wait "INT" "${interrupt_timeout}" $pid ; then
# exited
return
fi
# now send SIGTERM (quick shutdown) and wait ${terminate_timeout} seconds
if signal_and_wait "TERM" "${terminate_timeout}" $pid ; then
# exited
return
fi
# finally send SIGKILL (immediate death) and wait ${kill_timeout} seconds
signal_and_wait "KILL" "${kill_timeout}" $pid
fi
if [ -e "${session}/rtorrent.lock" ] ; then
# remove lockfile
rm -f "${session}/rtorrent.lock"
fi
}
getsession() {
awk '/^[[:space:]]*session[[:space:]]*=[[:space:]]*/ {print($3)}' "$config"
}
checkcnfg
case "$1" in
start)
echo -n "Starting $DESC: $NAME"
d_start
echo "."
;;
stop)
echo -n "Stopping $DESC: $NAME"
d_stop
echo "."
;;
restart|force-reload)
echo -n "Restarting $DESC: $NAME"
if [ -n "`pidof $NAME`" ]; then
d_stop
fi
sleep 2
d_start
echo "."
;;
status)
if [ -n "`pidof $NAME`" ]; then
echo "on"
else
echo "off"
fi
;;
*)
echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
exit 1
;;
esac
Digma 950 (HiMedia 900) +amps_r6_inext_2.16+универсальный бут.