Archiv > Development

Avahi

<< < (15/34) > >>

wino:

--- Quote ---$ ps -ef | grep "avahi-linker" | grep python
root      4337  0.0  0.2 105952 11124 ?        Ss   17:45   0:00 /usr/bin/python2 /usr/bin/avahi-linker[/CODE]
Da muss man tricksten, wenn man das automatisch machen will... kann das sysvinit nicht richtig?

--- Code: ---kill -SIGINT $(ps -ef | grep "avahi-linker" | grep python | awk '{print $2}')

--- End code ---

--- End quote ---
Damit wird unter MLD das Skript avahi-linker leider nicht beendet.
--- Code: ---ps -ef | grep "avahi-linker" | grep python | awk '{print $2}'
--- End code ---
gibt zwar die PID aus, ein anschließendes kill -SIGINT "PID" lässt avahi-linker auch nicht beenden. Habe die Busybox Befehle schon gegen die originalen ausgetauscht.  

MegaX:
Wenn ich das init Skript so abändere...

--- Code: ---#!/bin/sh
#
# Startet den avahi-linker

                . /etc/init.d/rc.functions

case "$1" in
    start)
                echo "Starting avahi-linker"
                avahi-linker  > /dev/null 2>&1
                check_status
       ;;
    stop)
                echo "Stopping avahi-linker"
                killall -2 avahi-linker > /dev/null 2>&1
                check_status
       ;;
    restart)
        $0 stop
        $0 start
       ;;
        init)
                start=1
                after=autofs
                after=nfs-server
                after=avahi-daemon
       ;;
        *)
                echo "Usage $0 {start | stop | restart}" >&2
                exit 1
esac
--- End code ---

...wird avahi-linker beim starten des PC´s einwandfrei gestartet.
Wenn ich nun auf der shell stop avahi-linker eingebe wird dieses incl. SIGINT ausgeführt.

Problem für das ich noch keine Lösung gefunden habe ist folgendes:
Wenn ich nun auf der shell start avahi-linker eingebe wird avahi-linker wieder einwandfrei gestartet. Die shell kann ich aber erst dann wieder benutzen wenn ich [Ctrl] + [C] mache.

Ich hoffe Ihr versteht mich was ich meine?


MegaX

Christian:

--- Quote --- Wenn ich das init Skript so abändere...

--- Code: ---#!/bin/sh
#
# Startet den avahi-linker

                . /etc/init.d/rc.functions

case "$1" in
    start)
                echo "Starting avahi-linker"
                avahi-linker  > /dev/null 2>&1
                check_status
      ;;
    stop)
                echo "Stopping avahi-linker"
                killall -2 avahi-linker > /dev/null 2>&1
                check_status
      ;;
    restart)
        $0 stop
        $0 start
      ;;
        init)
                start=1
                after=autofs
                after=nfs-server
                after=avahi-daemon
      ;;
        *)
                echo "Usage $0 {start | stop | restart}" >&2
                exit 1
esac
--- End code ---

...wird avahi-linker beim starten des PC´s einwandfrei gestartet.
Wenn ich nun auf der shell stop avahi-linker eingebe wird dieses incl. SIGINT ausgeführt.

Problem für das ich noch keine Lösung gefunden habe ist folgendes:
Wenn ich nun auf der shell start avahi-linker eingebe wird avahi-linker wieder einwandfrei gestartet. Die shell kann ich aber erst dann wieder benutzen wenn ich [Ctrl] + [C] mache.

Ich hoffe Ihr versteht mich was ich meine?


MegaX
--- End quote ---
Ein & geht nicht?

.......dev/null 2>&1 &

MegaX:
Hab noch ein wenig gespielt und nun ein funktionierendes init Skript

--- Code: ---#!/bin/sh
#
# Run avahi-linker as Daemon

DAEMON=/usr/bin/python
SCRIPT=/usr/bin/avahi-linker
ARGS='-l /var/log/avahi-linker.log'
NAME=avahi-linker
PID_FILE=/var/run/$NAME.pid

                . /etc/init.d/rc.functions

case "$1" in
    start)
                echo "Starting $NAME"
                start-stop-daemon --start --pidfile $PID_FILE --make-pidfile --background --exec $DAEMON $SCRIPT -- $ARGS > /dev/null 2>&1
                check_status
       ;;
    stop)
                echo "Stopping $NAME"
                start-stop-daemon --stop --signal 2 --quiet --pidfile $PID_FILE > /dev/null 2>&1
                check_status
       ;;
    restart)
        $0 stop
        sleep 2
        $0 start
       ;;
        init)
                start=1
                after=autofs
                after=nfs-server
                after=avahi-daemon
       ;;
        *)
                echo "Usage $0 {start | stop | restart}" >&2
                exit 1
esac
--- End code ---
 

skippy:
Hi MegaX,

ich habe das vorstehende init-Script mal bei mir eingespielt (in die neueste avahi-linker - Version 17). Aber auch damit werden bei mir nicht die Links unter /mnt/data/tv und /media/vdr gelöscht, wenn ich es mit stop aufrufe. Wenn ich seahawk1986 richtig verstanden habe, dann sollte das aber geschehen. Werden die Links denn bei dir gelöscht?

Viele Grüße skippy

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version