Optware ordentlich mit start/stop versorgen

NASBOY

Benutzer
Mitglied seit
08. Okt 2010
Beiträge
40
Punkte für Reaktionen
0
Punkte
0
Hi

Tschuldigung Du meinst .sh hinter s10pyload ?

Dann kommt aber dieser Fehler.

22966488.jpg



Blicks grad nicht ganz.


Grüßle
 

janus

Benutzer
Mitglied seit
07. Sep 2010
Beiträge
667
Punkte für Reaktionen
0
Punkte
0
Alter
50
Danke für die schnelle Antwort.

Hab jetzt mal versucht mein laufendes Pyload zu beenden.Mein Pyload heist S10pyload.
Wenn ich jetzt aber in den Ordner cd /opt/etc/init.d gehe und den Befehl sh S10pyload stop eingebe,bekomme ich eine Fehlermeldung.
Kann es also so gar nicht stoppen.

Jemand eine Idee?


Grüßle

Moin,
wie du angegeben hast, heisst dein Script S10pyload.sh und nicht S10pyload

Das dein Script so funktioniert, freut mich, denn anscheinend haben doch immer wieder Leute Probleme das optware Script mit dem Pyload Startscript aus der Wiki korrekt umzusetzen.

Trotzdem würde ich empfehlen mal den Artikel in der Wiki anzusehen.

Gruß

Janus
 

jahlives

Moderator
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
2
Punkte
0
Hi

Tschuldigung Du meinst .sh hinter s10pyload ?

Dann kommt aber dieser Fehler.

22966488.jpg



Blicks grad nicht ganz.


Grüßle
Dann heisst dies dass das Script den Stop Parameter ned kennt und bei Aufruf einen Start versucht. Das kann aber nicht gehen weil der Prozess noch läuft
 

NASBOY

Benutzer
Mitglied seit
08. Okt 2010
Beiträge
40
Punkte für Reaktionen
0
Punkte
0
Hi

@janus

Deshalb bin ich ja gerade hier.Ich möchte ja das Automatische Start Stop script in cd /opt/etc/init.d Integrieren.

Aber ich muss vorher pyload beenden und das klappt nicht.Wie ändere ich das jetzt dann.Soll ich einfach mit Nano das Script was ich habe erweitern mit einer Stop funktion?


Grüßle
 

Wessix

Benutzer
Mitglied seit
14. Okt 2010
Beiträge
319
Punkte für Reaktionen
0
Punkte
0
also du kannst auch ganz hart mit
Rich (BBCode):
killall python
alle python anwendungen beenden, da das bei mir nur pyload ist, funzt das ohne nebenefekte.
oder adu suchst mit
Rich (BBCode):
top
die PID raust und killst dann die entsprechende.
 

NASBOY

Benutzer
Mitglied seit
08. Okt 2010
Beiträge
40
Punkte für Reaktionen
0
Punkte
0
Hi

Ok Danke Wessix für den Tip.

So nun noch kurz die Frage muss ich nicht für das script die /opt/etc/init.d/S99pyload die S99pyload in S10pyload umändern?

Mein Pyload heist ja S10pyload und nicht S99pyload.

Oder ist das so beabsichtigt und gewollt,das es auf 99 rausläuft?



Aber ich Denke das ich zuerstmal IPKG in der Erweiterten funktion Installieren muss.Das hab ich noch nicht gemacht.Lese das erst jetzt richtig.
Oh Mann schade ich dachte es reicht wenn ich einfach das startscrip ändere.
Aber das ist ja mal wieder eine Abendfüllende Aufgabe für mich.

Danke an alle die jetzt geholfen haben.Muss mich jetzt erstmal mit dem IPKG auseinandersetzen.




Grüßle
 

janus

Benutzer
Mitglied seit
07. Sep 2010
Beiträge
667
Punkte für Reaktionen
0
Punkte
0
Alter
50
Hi

Tschuldigung Du meinst .sh hinter s10pyload ?

Dann kommt aber dieser Fehler.

22966488.jpg



Blicks grad nicht ganz.


Grüßle

Dein Script hat KEINE Funktion für "stop". Diese Funktion bietet nur das Script, welches Wessix verwendet hat. Das Script von Wessix findest du z.B. in der Wiki incl. der hoffentlich vollständigen Erklärungen dazu.

Gruß

Janus
 

janus

Benutzer
Mitglied seit
07. Sep 2010
Beiträge
667
Punkte für Reaktionen
0
Punkte
0
Alter
50
Hi

Ok Danke Wessix für den Tip.

So nun noch kurz die Frage muss ich nicht für das script die /opt/etc/init.d/S99pyload die S99pyload in S10pyload umändern?

Mein Pyload heist ja S10pyload und nicht S99pyload.

Oder ist das so beabsichtigt und gewollt,das es auf 99 rausläuft?



Aber ich Denke das ich zuerstmal IPKG in der Erweiterten funktion Installieren muss.Das hab ich noch nicht gemacht.Lese das erst jetzt richtig.
Oh Mann schade ich dachte es reicht wenn ich einfach das startscrip ändere.
Aber das ist ja mal wieder eine Abendfüllende Aufgabe für mich.

Danke an alle die jetzt geholfen haben.Muss mich jetzt erstmal mit dem IPKG auseinandersetzen.




Grüßle

Das Script,
welches Wessix verwendet hat, kann auch erst mal so für sich alleine verwendet werden, ohne die erweiterte Optware Variante.

Das ganze hat aber den Nachteil, dass die Stop Funktion nicht durch die Start / Stop Prozeduren der DS genutzt wird. Erst mit dem Optware Script wird beim herunterfahren der DS auch PyLoad automatisch beendet.

Das S10 und das S99 hat erst mal nur die Bedeutung, dass die Reihenfolge der Scripts verändert wird. Für Applikationen, wie PyLoad verwendet man in der Regel einen späteren Start Zeitpunkt, damit alle Dienste, auf welche eine solche Applikation ggf. zugreifft, bereits gestartet sind, bevor die Applikation startet. Daher ist es durchaus sinnvoll, wenn das Script die S99 verwendet.
Im allgemeinen hat die Startreihenfolge auf einer DS allerdings keine Bedeutung, da nur sehr wenige Dienste über das IPKG gestartet werden. Damit ist die Verwendung von S10 oder S99 eher im Bereich Ästetik.

Gruß

Janus
 

janus

Benutzer
Mitglied seit
07. Sep 2010
Beiträge
667
Punkte für Reaktionen
0
Punkte
0
Alter
50
Hi

@janus

Deshalb bin ich ja gerade hier.Ich möchte ja das Automatische Start Stop script in cd /opt/etc/init.d Integrieren.

Aber ich muss vorher pyload beenden und das klappt nicht.Wie ändere ich das jetzt dann.Soll ich einfach mit Nano das Script was ich habe erweitern mit einer Stop funktion?


Grüßle

Das Beenden von Pyload machst du mit "kill"

Also als Beispiel von meiner DS:
Rich (BBCode):
DiskStation2> ps |grep -i pyload   
 5576 root     40044 S    python /opt/pyload/pyLoadCore.py --daemon
 5581 root     40044 S    python /opt/pyload/pyLoadCore.py --daemon
 5582 root     40044 S    python /opt/pyload/pyLoadCore.py --daemon
 5583 root     40044 S    python /opt/pyload/pyLoadCore.py --daemon
 5584 root     40044 S    python /opt/pyload/pyLoadCore.py --daemon
 5585 root     40044 S    python /opt/pyload/pyLoadCore.py --daemon
 5586 root     40044 S    python /opt/pyload/pyLoadCore.py --daemon
 5587 root     40044 S    python /opt/pyload/pyLoadCore.py --daemon
 5588 root     40044 S    python /opt/pyload/pyLoadCore.py --daemon
 5589 root     40044 S    python /opt/pyload/pyLoadCore.py --daemon
 5591 root     40044 S    python /opt/pyload/pyLoadCore.py --daemon
 5592 root     40044 S    python /opt/pyload/pyLoadCore.py --daemon
28454 root      2460 S    grep pyload
DiskStation2>

Der einfachheit halber kille ich hier alle python Prozesse:
Rich (BBCode):
killall python

Einzelne Prozesse, wie erwähnt mit "kill", also den ersten Prozesse mit der PID 5576 mittels:

Rich (BBCode):
kill 5576

Gruß

Janus
 
Zuletzt bearbeitet:

jahlives

Moderator
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
2
Punkte
0
Im allgemeinen hat die Startreihenfolge auf einer DS allerdings keine Bedeutung, da nur sehr wenige Dienste über das IPKG gestartet werden. Damit ist die Verwendung von S10 oder S99 eher im Bereich Ästetik.
Ausser wenn ein Dienst auf einen anderen angewiesen ist. dann sollte man die Reihenfolge schon beachten ;)
 

janus

Benutzer
Mitglied seit
07. Sep 2010
Beiträge
667
Punkte für Reaktionen
0
Punkte
0
Alter
50
Hi

@janus


....


Aber ich muss vorher pyload beenden und das klappt nicht.Wie ändere ich das jetzt dann.Soll ich einfach mit Nano das Script was ich habe erweitern mit einer Stop funktion?


Grüßle

Nachtrag:
Das Start Stop Script aus dem Wiki kann nur die Prozesse beenden, welche es selbst gestartet hat. Von Hand gestartete Prozesse kennt das Script nicht!

Daher muss vor dem Start mittels des Scripts aus dem Wiki PyLoad beendet sein!

Das Script speichert beim Starten die PID und verwendet diese PID zum stoppen des gestarteten Prozesses.

Gruß

Janus
 

NASBOY

Benutzer
Mitglied seit
08. Okt 2010
Beiträge
40
Punkte für Reaktionen
0
Punkte
0
Ok

Vielen Dank an Euch.Habt mir sehr weitergeholfen.

Werde das ganze dann mal in Ruhe angehen.



Grüßle
 

goetz

Super-Moderator
Teammitglied
Mitglied seit
18. Mrz 2009
Beiträge
13.555
Punkte für Reaktionen
23
Punkte
328
Hallo,
bei einem Firmwareupgrade geht ja der Symlink zur Optwareinstallation flöten.
Bin nicht so der Scripter, schaut bitte mal drüber, das könnte an den Anfang der optware.sh (eigentlich reicht es ja im start-Zweig).
Rich (BBCode):
if [ ! -L /opt ]; then
   if [ -d /volume1/opt ]; then
      ln -s /volume1/opt /opt
   else
      ln -s /volume1/@optware /opt
   fi
fi
Gruß Götz
 

jahlives

Moderator
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
2
Punkte
0
@goetz
Ist es eigentlich ein Unterschied ob man
Code:
ln -s /volume1/@optware /opt
#oder
ln -s /volume1/@optware/* /opt/
verwendet?
 

goetz

Super-Moderator
Teammitglied
Mitglied seit
18. Mrz 2009
Beiträge
13.555
Punkte für Reaktionen
23
Punkte
328
Hi,
von der Funktionalität sollte da kein Unterschied sein. Die erste Variante erzeugt genau einen Link, die zweite mehrere. Das Verhalten ändert sich erst beim erstellen oder löschen. Erstellt ein Paket einen neuen Ordner direkt unter /opt, so landet der nach Variante 1 unter /volume1/opt, in der 2. Variante direkt unter /opt, also auf der Systempartition, eher nicht so gut.

Gruß Götz
 

janus

Benutzer
Mitglied seit
07. Sep 2010
Beiträge
667
Punkte für Reaktionen
0
Punkte
0
Alter
50
@goetz
Ist es eigentlich ein Unterschied ob man
Code:
ln -s /volume1/@optware /opt
#oder
ln -s /volume1/@optware/* /opt/
verwendet?

Ja,
da ist ein unterschied!

Wenn du die 1. Variante verwendest, dann wird genau /volume1/@optware nach /opt verlinkt.

Bei verwendung der 2. Variante werden in das Verzeichnis /opt/ alle in /volume1/@optware/ enthaltenen Verzeichnisse verlinkt. Was aber bedeutet, dass wenn unter /volume1/@optware/ neue Dateien oder Verzeichnisse hinzukommen, diese nicht automatisch auch unter /opt/ landen. (Neue Dateien und Verzeichnisse in bereits verlinkten Unterverzeichnissen, werden natürlich sichtbar)

Gruß

Janus
 

janus

Benutzer
Mitglied seit
07. Sep 2010
Beiträge
667
Punkte für Reaktionen
0
Punkte
0
Alter
50
Hallo,
bei einem Firmwareupgrade geht ja der Symlink zur Optwareinstallation flöten.
Bin nicht so der Scripter, schaut bitte mal drüber, das könnte an den Anfang der optware.sh (eigentlich reicht es ja im start-Zweig).
Rich (BBCode):
if [ ! -L /opt ]; then
   if [ -d /volume1/opt ]; then
      ln -s /volume1/opt /opt
   else
      ln -s /volume1/@optware /opt
   fi
fi
Gruß Götz

Moin,
sieht für mich auf den ersten Blick und ohne weiteren Test Sauber aus.

Gruß

Janus
 

Wessix

Benutzer
Mitglied seit
14. Okt 2010
Beiträge
319
Punkte für Reaktionen
0
Punkte
0
Hat das mitlerweile jemand getestet? wäre doch ganz nützlich.
Hab jetzt seit kurzem das Problem dass meine DS wieder nicht mehr gescheit runter fährt. an pyload liegts nicht. Gibts ne Möglichkeit rauszubekommen was nicht richtig beendet wird?

Grüße Wessix


Nachtrag: Jetzt gehts wieder, hatte vor mal ClamAV als Ipkg Draufgemacht gehabt, jett wieder runtergemacht. Vielleicht lags daran
 
Zuletzt bearbeitet:

pizza

Benutzer
Mitglied seit
31. Jan 2010
Beiträge
48
Punkte für Reaktionen
0
Punkte
0
Hallo Leute,
ich wollte mal fragen ob ich dieses ganze optware zeugs nach dem neuen Firmware update (DSM 3.1-1594) immernoch machen muss wenn ich wieder mein mount - bind Script erstellen will.

Wenn ja, hätte ich die folgende (vermutlich sehr dumme) Frage:
Goetz hat am anfang geschrieben:
"Alle Verwiese zu optware in rc.local raus."
Wo ist der Ordner und wie soll ich alle verweise daraus löschen?
Oder gibt es schon eine einfachere Lösung?
 

janus

Benutzer
Mitglied seit
07. Sep 2010
Beiträge
667
Punkte für Reaktionen
0
Punkte
0
Alter
50
Hat das mitlerweile jemand getestet? wäre doch ganz nützlich.
Hab jetzt seit kurzem das Problem dass meine DS wieder nicht mehr gescheit runter fährt. an pyload liegts nicht. Gibts ne Möglichkeit rauszubekommen was nicht richtig beendet wird?

Grüße Wessix


Nachtrag: Jetzt gehts wieder, hatte vor mal ClamAV als Ipkg Draufgemacht gehabt, jett wieder runtergemacht. Vielleicht lags daran

Hi,
also in der Wiki steht doch lang und breit, dass die Startup Scripte von IPKG nicht gerade gut für das Shutdown geeignet sind.

Daher:
Immer wenn man etwas per IPKG installiert und wenn man das optware.sh verwendet, sollte man anschliessend kontrollieren, ob unter /opt/etc/init.d neue Startup Scripte auftauchen. Wenn ja: Stoppen diese Scripte auch sauber den Dienst, den diese starten?

Wenn nein: Neues Script Schreiben, Testen und ins Wiki legen.

Gruß

Janus