Problema creando demonio de tomcast

7 envíos / 0 nuevos
Último envío
#1 Sáb, 30/09/2017 - 11:35
5.1
Imagen de 5.1
Desconectado/a
se unió: 30/09/17

Problema creando demonio de tomcast

Buenas a todos, os explico mi problema.

He creado un script para iniciar como servicio una aplicación, tomcast para ser exactos. 
El problema viene que me inicia pero no crea el demonio, os explico :

- Si hago un "service tomcast start" el resultado es que inicia pero no demoniza, hace un exited (igual que cuando arranca al inicio).
- Si primero hago un "service tomcast stop" y a continuación hago un start funciona perfectamente.
- Si hago un "service tomcast restart" funciona perfectamente. 

Os dejo el code por si veis algo raro...

Código:

#! /bin/sh
### BEGIN INIT INFO
# Provides:          Tomcast
# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Tomcast init script
# Description:       Launch tomcast at startup
### END INIT INFO

NAME="tomcast"
DESC="Demonio servicio Tomcast"
PIDFILE="/var/run/tomcast.pid"
LOGFILE="var/log/tomcast.log"
DAEMON="/usr/bin/tomcast"
DAEMON_OPTS="-o 10.5.0.85 -b 10.5.0.84 -p 8081 -t 100 -d ${PIDFILE} -c /etc/tomcast/channels.cfg"

test -x ${DAEMON} || exit 0
. /lib/lsb/init-functions

case "$1" in
    start)
        echo -n "Starting Tomcast"
        start-stop-daemon --start --pidfile ${PIDFILE} --exec ${DAEMON} -- ${DAEMON_OPTS}
        echo -n $?
        ;;
    stop)
        echo -n "Stopping Tomcast"
        start-stop-daemon --stop --pidfile ${PIDFILE}
        echo -n $?
        ;;
    force-reload|restart)
        $0 stop
        $0 start
        ;;
  *)
    echo "Usage: /etc/init.d/tomcast {start|stop|restart|force-reload}"
    exit 1
    ;;
esac

Este es el resultado de hacer un "service tomcast status" tanto al iniciar el sistema como después de hacer un "service tomcast start"

root@IPTV:/home/xxx# service tomcast start
root@IPTV:/home/xxx# service tomcast status
● tomcast.service - LSB: Tomcast init script
   Loaded: loaded (/etc/init.d/tomcast)
   Active: active (exited) since sáb 2017-09-30 16:07:12 CEST; 2min 18s ago

sep 30 16:07:12 IPTV tomcast[489]: Server ident      : unixsol/tomcast
sep 30 16:07:12 IPTV tomcast[489]: Channels file     : /etc/tomcast/channels.cfg
sep 30 16:07:12 IPTV tomcast[489]: Output iface addr : 10.5.0.85
sep 30 16:07:12 IPTV tomcast[489]: Multicast ttl     : 100
sep 30 16:07:12 IPTV tomcast[489]: Syslog disabled.
sep 30 16:07:12 IPTV tomcast[489]: Daemonize         : /var/run/tomcast.pid
sep 30 16:07:12 IPTV tomcast[489]: 1
sep 30 16:07:12 IPTV systemd[1]: Started LSB: Tomcast init script.

Sin embargo si lanzo un "service tomcast restart" si que me funciona perfecto surprise

root@IPTV:/home/xxx# service tomcast restart
root@IPTV:/home/xxx# service tomcast status
● tomcast.service - LSB: Tomcast init script
   Loaded: loaded (/etc/init.d/tomcast)
   Active: active (running) since sáb 2017-09-30 16:09:39 CEST; 2s ago
  Process: 968 ExecStop=/etc/init.d/tomcast stop (code=exited, status=0/SUCCESS)
  Process: 973 ExecStart=/etc/init.d/tomcast start (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/tomcast.service
           └─976 /usr/bin/tomcast -o 10.5.0.85 -b 10.5.0.84 -p 8081 -t 100 -d /var/run/tomcast.pid -c /etc/tomcast/channels.cfg

sep 30 16:09:39 IPTV tomcast[973]: Copyright (C) 2010-2016 Unix Solutions Ltd.
sep 30 16:09:39 IPTV tomcast[973]: Configuration:
sep 30 16:09:39 IPTV tomcast[973]: Server ident      : unixsol/tomcast
sep 30 16:09:39 IPTV tomcast[973]: Channels file     : /etc/tomcast/channels.cfg
sep 30 16:09:39 IPTV tomcast[973]: Output iface addr : 10.5.0.85
sep 30 16:09:39 IPTV tomcast[973]: Multicast ttl     : 100
sep 30 16:09:39 IPTV tomcast[973]: Syslog disabled.
sep 30 16:09:39 IPTV tomcast[973]: Daemonize         : /var/run/tomcast.pid
sep 30 16:09:39 IPTV tomcast[973]: Starting web srv  : http://10.5.0.84:8081/status (sock: 3)
sep 30 16:09:39 IPTV tomcast[973]: 0

Deciros que trabajo en debian jessi en modo texto ...

Desde ya muchas gracias y a ver si sois capaces de ayudarme a resolver el tema pq me está volviendo loco...

Sáb, 30/09/2017 - 12:04
rockyiii
Imagen de rockyiii
Conectado
administrator
se unió: 11/01/16

¿que version de debian estas usando? ¿usa systemd?
https://exdebian.org/normas/normas-del-foro

Sáb, 30/09/2017 - 12:10
5.1
Imagen de 5.1
Desconectado/a
se unió: 30/09/17

Uso Debian Jessi, lo digo al final del todo del post, y sí, usa systemd. 

root@IPTV:/etc/systemd/system# uname -a
Linux IPTV 3.16.0-4-amd64 #1 SMP Debian 3.16.43-2+deb8u5 (2017-09-19) x86_64 GNU/Linux

Para más info la máquina es un server Moi Pro AMD, es un servidor de streaming profesional.

https://www.tbsdtv.com/products/iptv-streamer-moi-pro-amd.html

 

Sáb, 30/09/2017 - 12:37
caliban
Imagen de caliban
Conectado
moderador
se unió: 14/01/16
Jue, 05/10/2017 - 15:25 (Responder a #4)
5.1
Imagen de 5.1
Desconectado/a
se unió: 30/09/17

caliban wrote:

Pues deberías crear un service para iniciar tomcast como demonio 

Por ejemplo :

https://serverfault.com/questions/846343/tomcat-works-but-service-tomcat-status-says-it-failed

https://voragine.net/linux/como-crear-y-gestionar-demonios-en-linux-con-systemd

Muchas gracias por la respuesta,a pesar que el problema venia de un tema diferente al script, los enlaces que me has pasado me han servido para entender mejor lo que estaba haciendo.

Gracias caliban.

PD: Por si en alguna búsqueda sobre tomcast alquien llega a este post, el problema venia del tiempo que tardaba la interface de red en adquirir ip via dhcp. Al no levantar la interace creaba un problema a la hora de bindear el puerto asignado al tomcast 

Jue, 05/10/2017 - 15:30
caliban
Imagen de caliban
Conectado
moderador
se unió: 14/01/16

¿Das por solucionado el tema ?

Jue, 05/10/2017 - 16:01 (Responder a #6)
5.1
Imagen de 5.1
Desconectado/a
se unió: 30/09/17

Sí, de nuevo gracias.