Diese Website existiert nur weil wir Werbung mit AdSense ausliefern.
Bitte den AdBlocker daher auf dieser Website ausschalten! Danke.
Bitte den AdBlocker daher auf dieser Website ausschalten! Danke.
[solved] programme daemonizen?
Moderator: Moderatoren
- captain nemo
- Member
- Beiträge: 94
- Registriert: 30. Jan 2004, 04:46
- Wohnort: Berlin
- Kontaktdaten:
[solved] programme daemonizen?
wie geht das ist das so das ich einfach nen & (oder war das doch das $ ) hinter den startbefehl setze und dann laeuft das programm als daemon im hintergrund oder ist das nur bei programmen die das unterstuetzen?
rechtschreibfehler sind gewollt
"imagination is more important than knowledge"
A. Einstein
mein blog
"imagination is more important than knowledge"
A. Einstein
mein blog
Hallo,
Daemonen sind Hintergrundprozesse, die beim booten gestartet werden und dann
Services zur Verfügung stellen, wie z.B. Samba, DHCP, ... Diese Services werden
normalerweise über die Startscripte gestartet und somit mit root-Rechten.
Wenn du an dem Befehl ein & anhängst, läuft das Programm zwar im
Hintergrund aber in deiner Session. Das Heisst, wenn du dich abmeldest wird
auch dein Programm beendet.
Gruß
Teasy
Daemonen sind Hintergrundprozesse, die beim booten gestartet werden und dann
Services zur Verfügung stellen, wie z.B. Samba, DHCP, ... Diese Services werden
normalerweise über die Startscripte gestartet und somit mit root-Rechten.
Wenn du an dem Befehl ein & anhängst, läuft das Programm zwar im
Hintergrund aber in deiner Session. Das Heisst, wenn du dich abmeldest wird
auch dein Programm beendet.
Gruß
Teasy


- captain nemo
- Member
- Beiträge: 94
- Registriert: 30. Jan 2004, 04:46
- Wohnort: Berlin
- Kontaktdaten:
ok also ich muss dan einfach nen start script fuer das programm in diese eine datei ( muss nochmal nachlesen welche) eintragen und dann geht das.
ok danke fuer die aufklaerung
ok danke fuer die aufklaerung
rechtschreibfehler sind gewollt
"imagination is more important than knowledge"
A. Einstein
mein blog
"imagination is more important than knowledge"
A. Einstein
mein blog
Also
Programme werden im Hintergrund folgendermaßen gestartet
programm &
Es wird dann eine Nummer in Eckigen Klammern angezeigt, mit der kannst du das Programm später wieder in den Vordergrund bringen mit
fg nummer
die Ausgabe auf dem Bildschirm geschieht dann aber immernoch auf dem Bildschirm um dies zu unterbinden, kann man die Ausgabe Umleiten in eine Datei
programm >bla &
Startet programm im Hintergrund und leitet die Ausgaben in die datei bla im aktuellen verzeichnis um.
ist dir die Ausgabe egal, so kannst du auch die Ausgabe nach /dev/null umleiten, dann wird die quasi gelöscht.
mit > wird die Standardausgabe umgeleitet, Fehlermeldungen werden weiterhin auf den Bildschirm ausgegeben, willst du, dass beide umgeleitet werden geschieht dies mit &>, falls nur die Fehlerausgabe umgeleitet werden soll 2>.
Meistens leite ich immer nur die Fehlerausgabe in eine Datei, die Standardausgabe nach /dev/null.
Du solltest dich auch mal mit pipes Beschäftigen. Eine Pipe leitet die Ausgabe eines Programmes an die Eingabe eines anderen Programmes. Ein einfaches Beispiel ist:
ls | less
für weitere infos: http://www.linuxfibel.de/eaumleitung.htm
Programme werden im Hintergrund folgendermaßen gestartet
programm &
Es wird dann eine Nummer in Eckigen Klammern angezeigt, mit der kannst du das Programm später wieder in den Vordergrund bringen mit
fg nummer
die Ausgabe auf dem Bildschirm geschieht dann aber immernoch auf dem Bildschirm um dies zu unterbinden, kann man die Ausgabe Umleiten in eine Datei
programm >bla &
Startet programm im Hintergrund und leitet die Ausgaben in die datei bla im aktuellen verzeichnis um.
ist dir die Ausgabe egal, so kannst du auch die Ausgabe nach /dev/null umleiten, dann wird die quasi gelöscht.
mit > wird die Standardausgabe umgeleitet, Fehlermeldungen werden weiterhin auf den Bildschirm ausgegeben, willst du, dass beide umgeleitet werden geschieht dies mit &>, falls nur die Fehlerausgabe umgeleitet werden soll 2>.
Meistens leite ich immer nur die Fehlerausgabe in eine Datei, die Standardausgabe nach /dev/null.
Du solltest dich auch mal mit pipes Beschäftigen. Eine Pipe leitet die Ausgabe eines Programmes an die Eingabe eines anderen Programmes. Ein einfaches Beispiel ist:
ls | less
für weitere infos: http://www.linuxfibel.de/eaumleitung.htm
- captain nemo
- Member
- Beiträge: 94
- Registriert: 30. Jan 2004, 04:46
- Wohnort: Berlin
- Kontaktdaten:
hey danke
das sind ja gleich nen haufen neue sachen die ich ausprobierne kann.
mein anliegen war oder vielmehr ist den mldonkey im hintergrund laufen zu lassen so das ich die konsole dann wieder frei hab.
na ja muss halt nen bissel rumprobieren aber trotzdem nochmal nen grosses danke.
das sind ja gleich nen haufen neue sachen die ich ausprobierne kann.
mein anliegen war oder vielmehr ist den mldonkey im hintergrund laufen zu lassen so das ich die konsole dann wieder frei hab.
na ja muss halt nen bissel rumprobieren aber trotzdem nochmal nen grosses danke.
rechtschreibfehler sind gewollt
"imagination is more important than knowledge"
A. Einstein
mein blog
"imagination is more important than knowledge"
A. Einstein
mein blog
Ne andere Möglichkeit wäre über
at
at erlaubt es Programme zu bestimmten Zeiten auszuführen, aber man kann damit auch Programme gleich starten.
Ich hatte damals für mldonkey 2 scriptie geschrieben, eins zum Starten und eins zum beenden.
dann mit at so aufgerufen:
at -f mldonkeystarten now
startet mldonkey gleich, beim beenden halt umgedreht... Gestartet hab ich ihn meist mit now und beendet mit ner bestimmten Zeit, da ich den morgends immer abschalten wollte.
Wenn du mldonkey nur zu bestimmten Zeiten starten und beenden willst, aber dies jeden Tag der Fall ist, bieten sich auch cron jobs an.
at
at erlaubt es Programme zu bestimmten Zeiten auszuführen, aber man kann damit auch Programme gleich starten.
Ich hatte damals für mldonkey 2 scriptie geschrieben, eins zum Starten und eins zum beenden.
dann mit at so aufgerufen:
at -f mldonkeystarten now
startet mldonkey gleich, beim beenden halt umgedreht... Gestartet hab ich ihn meist mit now und beendet mit ner bestimmten Zeit, da ich den morgends immer abschalten wollte.
Wenn du mldonkey nur zu bestimmten Zeiten starten und beenden willst, aber dies jeden Tag der Fall ist, bieten sich auch cron jobs an.
Im Hintergrund starten und von der Muttershell trennen wäre laut meiner Meinung die Praktischte Lösung.
Danach könntest du auch die shell beenden und dein donkey läuft weiterhin.
shellscript erstellen
mldonkey.sh
mldonkey.sh ausführrechte schenken
und mit
ausführen.
p2k
Danach könntest du auch die shell beenden und dein donkey läuft weiterhin.
shellscript erstellen
mldonkey.sh
Code: Alles auswählen
#!/bin/sh
./mldonkey &
Code: Alles auswählen
chmod a+x mldonkey.sh
Code: Alles auswählen
./mldonkey.sh
p2k
- captain nemo
- Member
- Beiträge: 94
- Registriert: 30. Jan 2004, 04:46
- Wohnort: Berlin
- Kontaktdaten:
ich habs schon mit dem & hinter dem befehl geschafft aber mit der umleitung der textausgabe noch nicht. jetzt kann ich den client mit starten und dann mich in der shell auch abmelden oder andere sachen machen.
bei der umleitung mit macht der mir zumindest in verbindung mit mlnet nur ne leere datei.
die sache mit den pipes ist ne echt geniale sache macht das durchsuchen von texten viel einfacher zb oder
linux macht einfach nur spass!!!!
Code: Alles auswählen
./mlnet &
bei der umleitung mit
Code: Alles auswählen
./mlent & &>blabla
die sache mit den pipes ist ne echt geniale sache macht das durchsuchen von texten viel einfacher zb
Code: Alles auswählen
less configure.log|grep X11
Code: Alles auswählen
ps aux|grep mlnet
rechtschreibfehler sind gewollt
"imagination is more important than knowledge"
A. Einstein
mein blog
"imagination is more important than knowledge"
A. Einstein
mein blog
Es mussmacht der mir zumindest in verbindung mit mlnet nur ne leere datei.
Code: Alles auswählen
./mlent &>blabla &
Zuerst in die Datei umleiten, dann in den Hintergrund stellen.
Bei Pipes ist man auch nicht auf Texte beschränkt. Die meisten Konsolenprogramme, auch wenn sie binäre Dateien zurückliefern (bsp crparanoia) können die Ausgabe an die Standardausgabe umleiten, also auf dem Bildschirm. Gut das macht ohne Pipes sicher keinen Sinn, wenn man seine Wave Datei nun auf dem Bildschirm mit lauter kryptischen symbolen dargestellt bekommt und sie dann auch nicht abgespeichert wird, aber so ist es möglich mittels pipes die Datei schnell weiter zu verarbeiten.
Die ganzen CD-rip GUIs arbeiten im Hintergrund mit pipes. Unter Linux findest du kaum ein Programm, welches sehr viele einzelne funktionen in einem integriert (GUIs ausgenommen, aber die verwenden ja andere Programme dafür...). Es gibt sehr viel kleine Programme, die man dann mit pipes beliebig kombinieren kann.
Ein weiteres Beispiel kannst du hier finden:
ftp://ftp.fh-hof.de/dozenten/smueller/W ... tellen.htm
Ist eine Kombination aus Pipes und Umleitung der Ausgabe in eine Datei

mfg
Andy