Pages : 1
#1 Le 13/02/2012, à 22:20
- Cramix
Lancer plusieurs fois le même daemon
Bonjour,
Je souhaite lancer plusieurs fois le même daemon mais à chaque fois avec un utilisateur différent. J'ai pour cela créé plusieurs fichiers d'init (/etc/init.d) qui permettent chacun de lancer un daemon avec un autre utilisateur. Mais lorsqu'un daemon est déjà lancé, il m'est impossible d'en lancer un deuxième.
Existe-t-il une façon de contourner cette limitation ?
Merci d'avance !
Hors ligne
#2 Le 13/02/2012, à 22:26
- sputnick
Re : Lancer plusieurs fois le même daemon
Bonsoir,
quel profusion de détails !
Si ton service écoute sur un port, il ne peux pas être partagé, donc faire autant de fichiers de confs avec des ports différents qu'il y a de users.
On ne peut pas mettre d'array dans un string!
https://sputnick.fr/
Hors ligne
#3 Le 13/02/2012, à 22:31
- Cramix
Re : Lancer plusieurs fois le même daemon
Pardon j'ai oublié de mentionner ce détail.
J'ai bien plusieurs fichiers de confs qui lancent le daemon sur un port différent. Le service en question est transmission-daemon.
Admettons que je lance le daemon pour toto (le service sera donc executé en son nom) sur le port 1337, lorsque que je voudrai lancer le daemon pour tata sur le port 4242 on me dira que le transmission-daemon est déjà lancé.
Hors ligne
#4 Le 13/02/2012, à 22:35
- sputnick
Re : Lancer plusieurs fois le même daemon
http://doc.xubuntu-fr.org/transmission #3
Utilisation
Transmission est une application complète comprenant service de téléchargement + interface de téléchargement + web UI depuis la version 1.30. Cela signifie que si vous installez aussi transmission-daemon, alors vous aurez 2 services de téléchargement et 2 web UI sur le même port ce qui cause des problèmes. Les deux applications ne se parlent pas ; donc, si vous ne comprenez pas un mot de ce charabia, installez uniquement Transmission.
On ne peut pas mettre d'array dans un string!
https://sputnick.fr/
Hors ligne
#5 Le 13/02/2012, à 22:53
- Cramix
Re : Lancer plusieurs fois le même daemon
Au contraire, j'ai uniquement le daemon d'installé, je l'utilise comme seedbox sur ma dédibox mais je cherche à faire un système multi-utilisateurs d'où la nécessité de lancer plusieurs fois le service. Or j'ai bien mis des ports distincts dans mes fichiers de configuration, donc en pratique aucun soucis. C'est juste qu'il m'est impossible de lancer un deuxième daemon
root@team-saucisson:~# /etc/init.d/transmission-daemon_user1 start
Starting bittorrent daemon: transmission-daemon.
root@team-saucisson:~# /etc/init.d/transmission-daemon_user2 start
Starting bittorrent daemon: transmission-daemon_bastien/usr/bin/transmission-daemon already running.
Et mes deux fichiers init sont différents :
root@team-saucisson:~# cat /etc/init.d/transmission-daemon_user1
#!/bin/sh -e
### BEGIN INIT INFO
# Provides: transmission-daemon
# Required-Start: $local_fs $remote_fs $network
# Required-Stop: $local_fs $remote_fs $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start or stop the transmission-daemon.
### END INIT INFO
NAME=transmission-daemon
DAEMON=/usr/bin/$NAME
USER=user1
# FIXME: no pidfile support; forks, so --make-pidfile doesn't work either
#PIDFILE=/var/run/$NAME.pid
STOP_TIMEOUT=3
export PATH="${PATH:+$PATH:}/sbin"
[ -x $DAEMON ] || exit 0
[ -e /etc/default/$NAME ] && . /etc/default/$NAME
. /lib/lsb/init-functions
start_daemon () {
if [ $ENABLE_DAEMON != 1 ]; then
log_progress_msg "(disabled, see /etc/default/${NAME})"
else
start-stop-daemon --start \
--chuid $USER \
--exec $DAEMON -- $OPTIONS
fi
}
case "$1" in
start)
log_daemon_msg "Starting bittorrent daemon" "$NAME"
start_daemon
log_end_msg 0
;;
stop)
log_daemon_msg "Stopping bittorrent daemon" "$NAME"
start-stop-daemon --stop --quiet \
--exec $DAEMON --retry $STOP_TIMEOUT \
--oknodo
log_end_msg 0
;;
reload)
log_daemon_msg "Reloading bittorrent daemon" "$NAME"
start-stop-daemon --stop --quiet \
--exec $DAEMON \
--oknodo --signal 1
log_end_msg 0
;;
restart|force-reload)
log_daemon_msg "Restarting bittorrent daemon" "$NAME"
start-stop-daemon --stop --quiet \
--exec $DAEMON --retry $STOP_TIMEOUT \
--oknodo
start_daemon
log_end_msg 0
;;
*)
echo "Usage: /etc/init.d/$NAME {start|stop|reload|force-reload|restart}"
exit 2
;;
esac
exit 0
root@team-saucisson:~# cat /etc/init.d/transmission-daemon_user2
#!/bin/sh -e
### BEGIN INIT INFO
# Provides: transmission-daemon
# Required-Start: $local_fs $remote_fs $network
# Required-Stop: $local_fs $remote_fs $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start or stop the transmission-daemon.
### END INIT INFO
NAME=transmission-daemon
DAEMON=/usr/bin/$NAME
USER=user2
# FIXME: no pidfile support; forks, so --make-pidfile doesn't work either
#PIDFILE=/var/run/$NAME.pid
STOP_TIMEOUT=3
export PATH="${PATH:+$PATH:}/sbin"
[ -x $DAEMON ] || exit 0
[ -e /etc/default/$NAME ] && . /etc/default/$NAME
. /lib/lsb/init-functions
start_daemon () {
if [ $ENABLE_DAEMON != 1 ]; then
log_progress_msg "(disabled, see /etc/default/${NAME})"
else
start-stop-daemon --start \
--chuid $USER \
--exec $DAEMON -- $OPTIONS
fi
}
case "$1" in
start)
log_daemon_msg "Starting bittorrent daemon" "$NAME"
start_daemon
log_end_msg 0
;;
stop)
log_daemon_msg "Stopping bittorrent daemon" "$NAME"
start-stop-daemon --stop --quiet \
--exec $DAEMON --retry $STOP_TIMEOUT \
--oknodo
log_end_msg 0
;;
reload)
log_daemon_msg "Reloading bittorrent daemon" "$NAME"
start-stop-daemon --stop --quiet \
--exec $DAEMON \
--oknodo --signal 1
log_end_msg 0
;;
restart|force-reload)
log_daemon_msg "Restarting bittorrent daemon" "$NAME"
start-stop-daemon --stop --quiet \
--exec $DAEMON --retry $STOP_TIMEOUT \
--oknodo
start_daemon
log_end_msg 0
;;
*)
echo "Usage: /etc/init.d/$NAME {start|stop|reload|force-reload|restart}"
exit 2
;;
esac
exit 0
Chacun se serviera d'un fichier de configuration dans le home de l'utilisateur (/home/user1/.config/transmission-daemon/settings.json ou /home/user2/.config/transmission-daemon/settings.json) et se lancera sur un port différent.
Mon seul soucis est que je ne peux pas lancer ces deux démons en même temps (voir erreur plus haut)
Hors ligne
#6 Le 13/02/2012, à 23:51
- sputnick
Re : Lancer plusieurs fois le même daemon
Le daemon lance aussi une UI web ? Ils peuvent pas tous binder sur le même port (je suppose, je ne me sers pas de ce soft)
On ne peut pas mettre d'array dans un string!
https://sputnick.fr/
Hors ligne
Pages : 1