Forums

Skip to content

Advanced search
  • Quick links
    • Unanswered topics
    • Active topics
    • Search
  • FAQ
  • Login
  • Register
  • Board index International Gentoo Users Deutsches Forum (German)
  • Search

Script als init-Script ausführen

Support-Forum
Diskussionen rund um Installation, Betrieb und Anpassungen von Gentoo und dessen Paketen sowie dabei auftretenden (technischen) Problemen.
Deutsches Portal: www.gentoo.de
Post Reply
  • Print view
Advanced search
5 posts • Page 1 of 1
Author
Message
Obelix
Tux's lil' helper
Tux's lil' helper
User avatar
Posts: 100
Joined: Mon Aug 22, 2011 10:38 pm

Script als init-Script ausführen

  • Quote

Post by Obelix » Sun Sep 02, 2012 10:15 pm

Hi,

im Handbuch zu gentoo steht, man solle kein Script in einem init-Script starten, das dann Services startet und sich selbst beendet.
Jetzt habe ich halt genau das Problem:
Ich nutze eine Software, die nicht per Portage und fertigem init-Sctipt kommt, aber selbst ein Script mitbringt, das alles startet und alle Variablen setzt, die gesetzt sein müssen. Das Script ist auch nicht gerade kurz, sodass es nicht wirklich einfach wäre zu sagen, man kopiert eben alles in ein init-Sctipt um.
Gibt es einen sauberen Weg, wie ich ein init-Script schreibe, das eigentlich nur ein shell Script startet? Und am besten wäre es, wenn das dann auch mit "stop" und "restart" klappen würde.
Ich habe es vor einigen Monaten schon mal versucht, einfach aufzurufen, aber ein stop ging dann nicht, geschweige denn ein restart. Und bevor ich wieder ewig dran hinbastle dachte ich, ich frag mal nach, ob mir da jemand den richtigen Weg weisen kann...

Danke an alle, die sich Gedanken machen...
Obelix
read my lips: NO MORE BUGS!!
Top
schotter
Guru
Guru
User avatar
Posts: 497
Joined: Tue Nov 30, 2004 10:16 pm
Location: Germany, Bavaria, Bayreuth, Pottenstein, Tüchersfeld
Contact:
Contact schotter
Website

  • Quote

Post by schotter » Mon Sep 03, 2012 9:37 am

Hi,
ich denke http://www.gentoo.org/doc/en/openrc-migration.xml koennte dein Freund sein bzw. etwas genauer:
local.start and local.stop

With OpenRC, /etc/conf.d/local.start and local.stop are deprecated. During the migration to OpenRC, the files are moved to /etc/local.d and gain the suffix .start or .stop. OpenRC then executes those in alphabetic order.
Aber ein start-stop-Skript ist das natuerlich auch nicht, vllt aber ein Anfang^^
Top
slick
Bodhisattva
Bodhisattva
User avatar
Posts: 3495
Joined: Sun Apr 20, 2003 11:44 am

  • Quote

Post by slick » Thu Sep 13, 2012 5:07 pm

Das nachfolgende ist ein minimales Initscript. Das bastelst einfach für dein Programm um. Wichtig ist das der Programmaufruf in stop() das Programm auch wieder vollständig stoppt. depend() ist IMHO optional, kannst aber mit Abhängigkeiten befüllen. chmod +x nicht vergessen. restart() brauchst nicht angeben wenn er einem stop() + start() entspricht, das machst das initscript selbst. Ansonsten schau dir andere initscripts an wie du das reinfummelst.

Code: Select all

#!/sbin/runscript

depend() {
	need XXX
	use XXX
}

start() {
	ebegin "Starting MyProgram"
	#startscript aufrufen
	eend $?
}

stop() {
	ebegin "Stopping MyProgram"
	#stopscript aufrufen
	eend $?
}
Top
Obelix
Tux's lil' helper
Tux's lil' helper
User avatar
Posts: 100
Joined: Mon Aug 22, 2011 10:38 pm

  • Quote

Post by Obelix » Thu Sep 13, 2012 5:27 pm

danke für die Tipps. Das mit dem Init-Script an und für sich ist mir schon klar. Trotzdem Danke!

Vielleicht habe ich mich zu ungenau ausgedrückt. Ich versuchs nochmal:
Für die Steuerung von KNX/EIB Hausautomatisierungssystemen haben schlaue Menschen eine Software geschrieben (OpenRemote). Einer von ihnen hat eine Serverkomponente gemacht, die mit dem System kommuniziert. Dieser "Server" benötigt viele Komponenten, von denen eigentlich alle mitgebracht werden. Um diesen Server zu starten gibt es ein Script, das hat 368 Zeilen. Man startet es mit Parameter, z.B. "run" (dann bleibt es in der shell stehen), oder "start" (damit läuft es im Hintergrund) und "stop" (damit beendet man den Hintergrundprozess)
Wenn ich im gentoo Initscript wiederum dieses Script aufrufe, dann geht das nicht. Es heißt auch in der gentoo doku, dass man keine anderen Scripte aufrufen soll.

Jetzt wäre meine Hoffnung gewesen, dass findige Köpfe vielleicht einen Trick kennen, wie man es doch schafft sauber (sic!) ein anderes Script aufzurufen. Denn ich möchte nur ungerne das 368 Zeilen lange Sctipt zerlegen und in ein Init-Script packen. Zumal dieses Script mit relativen Pfaden arbeitet, und ich dann alles umschreiben müßte...

Gruß
Obelix
read my lips: NO MORE BUGS!!
Top
bell
Guru
Guru
User avatar
Posts: 524
Joined: Tue Nov 27, 2007 8:48 am

  • Quote

Post by bell » Thu Sep 13, 2012 6:12 pm

Wird das Skript manuell als ein User oder als root aufgerufen?

Als root: Mache mal in Deinem Skript folgendes rein

Code: Select all

source /etc/profile
/deinscript start
rein. Damit hast Du schonmal alle Umgebungsvariablen für das Skript verfügbar, falls irgend was davon benötigt wird.

Damit es als User läuft etnsprechend:

Code: Select all

su -lc 'source /etc/profile; /deinscript start' deinscriptuser
Top
Post Reply
  • Print view

5 posts • Page 1 of 1

Return to “Deutsches Forum (German)”

Jump to
  • Assistance
  • ↳   News & Announcements
  • ↳   Frequently Asked Questions
  • ↳   Installing Gentoo
  • ↳   Multimedia
  • ↳   Desktop Environments
  • ↳   Networking & Security
  • ↳   Kernel & Hardware
  • ↳   Portage & Programming
  • ↳   Gamers & Players
  • ↳   Other Things Gentoo
  • ↳   Unsupported Software
  • Discussion & Documentation
  • ↳   Documentation, Tips & Tricks
  • ↳   Gentoo Chat
  • ↳   Gentoo Forums Feedback
  • ↳   Duplicate Threads
  • International Gentoo Users
  • ↳   中文 (Chinese)
  • ↳   Dutch
  • ↳   Finnish
  • ↳   French
  • ↳   Deutsches Forum (German)
  • ↳   Diskussionsforum
  • ↳   Deutsche Dokumentation
  • ↳   Greek
  • ↳   Forum italiano (Italian)
  • ↳   Forum di discussione italiano
  • ↳   Risorse italiane (documentazione e tools)
  • ↳   Polskie forum (Polish)
  • ↳   Instalacja i sprzęt
  • ↳   Polish OTW
  • ↳   Portuguese
  • ↳   Documentação, Ferramentas e Dicas
  • ↳   Russian
  • ↳   Scandinavian
  • ↳   Spanish
  • ↳   Other Languages
  • Architectures & Platforms
  • ↳   Gentoo on ARM
  • ↳   Gentoo on PPC
  • ↳   Gentoo on Sparc
  • ↳   Gentoo on Alternative Architectures
  • ↳   Gentoo on AMD64
  • ↳   Gentoo for Mac OS X (Portage for Mac OS X)
  • Board index
  • All times are UTC
  • Delete cookies

© 2001–2026 Gentoo Authors
Gentoo is a trademark of the Gentoo Foundation, Inc. and of Förderverein Gentoo e.V.
The contents of this document, unless otherwise expressly stated, are licensed under the CC-BY-SA-4.0 license.
The Gentoo Name and Logo Usage Guidelines apply.

Powered by phpBB® Forum Software © phpBB Limited

Privacy Policy