Re: Programm per Cronjob gestartet, läuft, nur wo ist es ?
Ich schicke das ganze jetzt auch wieder auf die ML, da es nur an mich gerichtet war. Du wolltest es aber so wie ich das sehe an die ML schicken ;o) Am Freitag, 11. Februar 2005 19:10 schrieb Bernd Schwendele:
Thomas Janssen schrieb:
Ich habe ein absturzfreudiges Programm in den Griff bekommen in dem ich es alle 5 Minuten per Cronjob kontrollieren und wenn nötig neu starten lasse.
In den Griff bekommen ist was anderes! Du hast also nen Watchdog geschrieben...
Oder so :o)
Mein Problem ist jetzt, wenn ich es nun kontrolliert beenden möchte (nicht per kill), könnte ich das nur in einer Konsole. Doch da taucht das Teil nicht auf.
Du gehst davon aus, dass wenn Dein Skript ein Programm aus irgendeiner Konosole (oder hier per Cronjob) aufruft du es in einer anderen Konsole sehen kannst? Sehe ich das richtig? Wenn ja: Irrtum!
Shit!
Jobs bringt keine Ausgabe.
Jobs???
Ja Jobs.. Ich habe es ja per Script in den Hintergrund geschickt durch "&" Dann kann man sich normalerweise mit "Jobs" die im Hintergrund laufenden Programme (jobs) ansehen. Aber wie es scheint nur die, die auch in der aktuellen Konsole gestartet wurden.
Gibt es eine Möglichkeit zum Beispiel an Hand der PID (die kriege ich per Top)
oder per ps aux | grep programm
Thx.. Faul wie ich bin gucke ich gerne in top nach ;o)
die Ausgabe des Programmes irgendwie in (m)eine Konsole zu bekommen.
ja! mit:
programm > /dev/ttyn
z.B.:
ls -al > /dev/tty1
das funzt hier allerdings nur mit root-rechten!
Hier auch. Bringt ergo nichts.
Oder sollte ich mein Script abändern das ich die Ausgabe des Programmes (und dadurch den Zugriff) in der Konsole haben kann.
Naja, man kann bspw. die stderr in eine Datei umlenken mit 2&>1 (bitte verbessert mich, wenn ich falsch liege!), d.h. auch auf eine Konsole! Denn unter Unix ist alles eine Datei!
Ok, das ist mir bekannt. Nur es geht nicht um die Errorausgaben. Das ganze ist ein Konsolenprogramm, wie Beispielsweise Mutt (nur zum Beispiel). Kann ich in meinem Script so etwas angeben wie "öffne eine Konsole und führe darin den restlichen Inhalt des Scripts aus" ? Saublöde Frage, ich weiß.. Sorry..
Wenn ja, dann wie ? Gegoogelt habe ich auch, glaube aber nicht die richtigen Worte gefunden zu haben.
sh Skripte sind gelinde gesagt etwas besser als brainf*ck! Millionen von <> & `cat {$i}` Zeugs und Böhmische Dörfer! Ich bin wirklich kein Freund davon, deshalb habe ich mir das Buch Linux in a Nutshell mal durchgeblättert. Da gibts einiges zu diesem Thema. Vielleicht kannst Du Dir das irgendwo borgen...
Ich werde es mir kaufen. "Linux kurz und gut" habe ich schon und bin begeistert. Gruss Thomas
Thomas Janssen schrieb:
oder per ps aux | grep programm
Thx.. Faul wie ich bin gucke ich gerne in top nach ;o)
Dafür bin ich jetzt zu faul, lange nach dem Prozess zu suchen ;-)
Naja, man kann bspw. die stderr in eine Datei umlenken mit 2&>1 (bitte verbessert mich, wenn ich falsch liege!), d.h. auch auf eine Konsole! Denn unter Unix ist alles eine Datei!
Ok, das ist mir bekannt. Nur es geht nicht um die Errorausgaben. Das ganze ist ein Konsolenprogramm, wie Beispielsweise Mutt (nur zum Beispiel). Kann ich in meinem Script so etwas angeben wie "öffne eine Konsole und führe darin den restlichen Inhalt des Scripts aus" ? Saublöde Frage, ich weiß.. Sorry..
Hmmm... Du meinst sowas z.B.? xterm -e "top" ? Gruß Bernd
Am Freitag, 11. Februar 2005 20:25 schrieb Bernd Schwendele:
Thomas Janssen schrieb:
Kann ich in meinem Script so etwas angeben wie "öffne eine Konsole und führe darin den restlichen Inhalt des Scripts aus" ? Saublöde Frage, ich weiß.. Sorry..
Hmmm... Du meinst sowas z.B.?
xterm -e "top"
?
Jaaaaaaaaaaaaa genau! Daaaaaaaaaaaaaaaaaaaaaanke!! *knutsch* äh.. Ich meine *drück* ;o) Gruss Thomas
Am Freitag, 11. Februar 2005 20:25 schrieb Bernd Schwendele:
Thomas Janssen schrieb:
oder per ps aux | grep programm
Thx.. Faul wie ich bin gucke ich gerne in top nach ;o)
Dafür bin ich jetzt zu faul, lange nach dem Prozess zu suchen ;-)
Naja, man kann bspw. die stderr in eine Datei umlenken mit 2&>1 (bitte verbessert mich, wenn ich falsch liege!), d.h. auch auf eine Konsole! Denn unter Unix ist alles eine Datei!
Ok, das ist mir bekannt. Nur es geht nicht um die Errorausgaben. Das ganze ist ein Konsolenprogramm, wie Beispielsweise Mutt (nur zum Beispiel). Kann ich in meinem Script so etwas angeben wie "öffne eine Konsole und führe darin den restlichen Inhalt des Scripts aus" ? Saublöde Frage, ich weiß.. Sorry..
Hmmm... Du meinst sowas z.B.?
xterm -e "top"
Zu früh gefreut. Can`t open Display bei xterm und bei konsole signal 1 und tschüss.. Also das Programm ist edonkeyclc, falls das irgend wie einen Unterschied machen sollte. Mit top funktioniert es. Gruss Thomas
Am Freitag, 11. Februar 2005 21:12 schrieb Peter Wiersig:
On Fri, Feb 11, 2005 at 09:06:19PM +0100, Thomas Janssen wrote:
Zu früh gefreut. Can`t open Display bei xterm und bei konsole signal 1 und tschüss..
Glaub mir, screen ist das Tool der Stunde...
Ok, ich habe es jetzt sogar zum laufen gebracht. Sollte es für die letzte fehlende Option keine Lösung geben, werde ich mich mal an Screen ranmachen. konsole "/usr/bin/edonkeyclc" -g So funktioniert es nicht: Unbekannte Option -g konsole "/usr/bin/edonkeyclc -g" Funktioniert auch nicht: Datei nicht gefunden Mit umschließenden ' ' klappts auch nicht. konsole '"/usr/bin/edonkeyclc" -g' Dann guckt mich die Konsole leer an :o) Wo kann ich nachlesen wie ich die Option -g noch mit dran kriege ? Gruss Thomas
Hallo Thomas, hallo Leute, Am Freitag, 11. Februar 2005 21:23 schrieb Thomas Janssen:
konsole "/usr/bin/edonkeyclc" -g
So funktioniert es nicht: Unbekannte Option -g [...] Wo kann ich nachlesen wie ich die Option -g noch mit dran kriege ?
# konsole --help Verwendung: konsole [Qt-Optionen] [KDE-Optionen] [Optionen] [args] [...] -e <command> 'befehl' anstelle der Shell ausführen Argumente: args Argumente für 'befehl' Du brauchst also: konsole -e "/usr/bin/edonkeyclc" -g Gruß Christian Boltz -- linux:~ # nmap localhost bash: nmap: command not found linux:~ # nmap geht nicht [Marcel Stein in suse-linux]
Hallo Christian Am Freitag, 11. Februar 2005 23:21 schrieb Christian Boltz:
Am Freitag, 11. Februar 2005 21:23 schrieb Thomas Janssen:
konsole "/usr/bin/edonkeyclc" -g
So funktioniert es nicht: Unbekannte Option -g ^^^^^^^^^^^^^^^
Wo kann ich nachlesen wie ich die Option -g noch mit dran kriege ?
# konsole --help Verwendung: konsole [Qt-Optionen] [KDE-Optionen] [Optionen] [args] [...] -e <command> 'befehl' anstelle der Shell ausführen
Argumente: args Argumente für 'befehl'
Du brauchst also: konsole -e "/usr/bin/edonkeyclc" -g
Soweit war ich auch schon klappt aber nicht da die letzte Option "-g" offenbar von der Konsole interpretiert wird und nicht von edonkeyclc. konsole -e "/usr/bin/edonkeyclc -g" klappt auch nicht, dann wird davon ausgegangen das das Programm "edonkeyclc -g" heißen würde. Gibt es noch eine Möglichkeit das ganze zu umschliessen, also das die Konsole nicht mehr denkt -g wäre noch an sie gerichtet ? Gruss Thomas
On Sat, Feb 12, 2005 at 10:42:05AM +0100, Thomas Janssen wrote:
Gibt es noch eine Möglichkeit das ganze zu umschliessen, also das die Konsole nicht mehr denkt -g wäre noch an sie gerichtet ?
vielleicht "konsole -e /usr/bin/edonkeyclc -- -g", wie auch aus "konsole --help" zu ersehen ist und bei den meisten Kommandos? -- Peter
Am Samstag, 12. Februar 2005 10:50 schrieb Peter Wiersig:
On Sat, Feb 12, 2005 at 10:42:05AM +0100, Thomas Janssen wrote:
Gibt es noch eine Möglichkeit das ganze zu umschliessen, also das die Konsole nicht mehr denkt -g wäre noch an sie gerichtet ?
vielleicht "konsole -e /usr/bin/edonkeyclc -- -g", wie auch aus "konsole --help" zu ersehen ist und bei den meisten Kommandos?
Verdammt gute Idee, daran hatte ich nicht mehr gedacht. Doch passiert nur das selbe. Konsole poppt auf (eigentlich sogar 3) und sofort wieder zu. Unten am Bildschirmrand ist dann noch zu lesen: Sitzung "/usr/bin/edonleyclc" ist beendet mit Signal 1 Gruss Thomas
participants (4)
-
Bernd Schwendele
-
Christian Boltz
-
Peter Wiersig
-
Thomas Janssen