Leider startet bei einigen Conceptronic CH3SNAS der UPNP-Server beim Bootvorgang, obwohl dieser über das Webinterface deaktiviert wurde. Mir selbst ist das in einer alten Firmware auch passiert, also eventuell hilft auch einfach ein Firmware-Update. Wenn nicht, dann gibt es natürlich einen Workaround. Da dies prinzipiell für alle Programme gilt, die man abschießen will, habe ich den Artikel sehr allgemein gehalten.

Zunächst muss das fun_plug installiert werden. Innerhalb des fun_plug findet sich nun ein Ordner namens “start” dessen Dateien beim Start des NAS ausgeführt werden, sofern diese mit dem Executable-Bit versehen wurden.

Zunächst muss der name des Prozesses herausgefunden werden. Der Einfachheit halber habe ich diesen für das unten stehende Skript “upnp” genannt. Der Name ist mittels “ps aux” zu ermitteln. Dieser Befehl zeit alle momentan laufenden Prozesse. Wer sich unsicher bezüglich des Programmnamens ist, einfach über die Kommentarfunktion melden! Das kleine Skript wird im Unix-Dateiformat im fun_plug-Start-Ordner mit einem beliebigen Namen (z.B. /ffp/start/kill_upnp_server.sh) abgelegt und mit dem Executable-Bit versehen (chmod a+x /ffp/start/kill_upnp_server.sh):

1
2
3
4
5
6
7
#!/bin/sh
PATH=/usr/bin:/bin:/usr/sbin:/sbin
PID=$(/bin/pidof upnp)
if [ -n "$PID" ]
 then
 kill -9 $PID
fi

Hinweis: Klicke auf “Plain Text” zum einfacheren Kopieren :)

Das Skript funktioniert so: Das zu beendende Programm startet zuerst ganz normal. Sobald das fun_plug ausgeführt wird, wird die PID (Prozess-ID des Programms) mittels des Programms “pidof” herausgefunden und die Instanz des Programms einfach gekillt. Ist zwar nicht ganz sauber, aber immerhin läuft dann das Programm nicht unnötig.

Sollte das Programm trotzdem nicht beendet werden kann es sein, dass es entweder mehrere Instanzen davor gibt oder das Programm noch nicht fertig gestartet wurde, als das Skript ausgeführt wurde. Im ersteren Fall bitte über die Kommentare melden, dann schreibe ich nen Skript. Zweiteres lässt sich umgehen, indem das Skript einen Moment wartet, bevor es losrennt. In diesem Fall: Suche:

1
2
#!/bin/sh
PATH=/usr/bin:/bin:/usr/sbin:/sbin

Füge danach ein:

1
/bin/sleep 60

Dann wartet das Skript 60 Sekunden mit der Ausführung. Vorsicht übrigens, dann wartet auch das komplette fun_plug mit dem weiteren Start 60 Sekunden, es wird also alles verzögert.

Hier gehts zum Download des gesamten Scripts: Download

Bei Fragen einfach einen Kommentar hinterlassen!