Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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 ! hmm

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

docUbuntu a écrit :

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