Запуск rtorrent как демона (без screen) на FreeBSD
Работа в режиме демона была добавлена в rtorrent автором
Для запуска в качестве демона нужно:
наложить патч перед сборкой: патч и пример Makefile из портов берём здесь:
patch
собирать с xml-rpc (иначе управлять будет нечем)
rc.d скрипт для запуска/остановки:
rtorrent
К сожалению автор rtorrent не ответил и не принял патч.
Патч аккуратно убирает весь консольный GUI: все вызовы функций, некоторые функции заменяются на аналоги. При этом код GUI всё ещё собирается и линкуется, это я не патчил.
Параметры доступные rc.d скрипте
Значения по умолчанию:
rtorrent_enable="NO"
rtorrent_pidfile="/var/run/rtorrent.pid"
rtorrent_user="www"
rtorrent_group="www"
rtorrent_chroot=""
rtorrent_chdir=""
rtorrent_args=""
rtorrent_bindaddr=""
rtorrent_bindport=""
rtorrent_download_dir=""
rtorrent_session_dir=""
rtorrent_ignory_settings="NO"
rtorrent_config="/usr/local/etc/rtorrent/rtorrent.conf"
rtorrent_rpc_bindaddr=""
rtorrent_rpc_bindsocket="/var/run/rtorrent-rpc.sock"
rtorrent_rpc_bindsocket_mode=""
enable - запускать rtorrent
pidfile - имя файла в котором сохранится идентификатор процесса
user, group - имя пользователя и группа с правами которых будет работать rTorrent
chroot - директория для chroot
chdir - директорая которая станет текущей при запуске
args - аргументы которые будут переданы в rTorrent при запуске
Остальные настройки специфичны для rTorrent и дублируются в конфиг файле, их описание можно найти в документации к нему.
bindaddr - Bind listening socket and outgoing connections to this network interface address.
bindport - Try to open a listening port in the range a up to and including
download_dir - Set the default download directory. Defaults to “./”
session_dir - Session management will be enabled and the torrent files for all open downloads will be stored in this directory. Example: /usr/local/etc/rtorrent/
ignory_settings - Don't load ~/.rtorrent.rc on startup, ignored if “rtorrent_config” set
config - alternate .rtorrent.rc config file patch/name. Example: /usr/local/etc/rtorrent/rtorrent.conf
rpc_bindaddr - tcp (ip:port) socket for scgi/rpc connect. Example: 127.0.0.1:5000
rpc_bindsocket - unix domain socket for scgi/rpc connect. Example: /var/run/rtorrent-rpc.sock
rpc_bindsocket_mode - only for unix domain socket. Example: 0777