Hallo Liste, im Moment bin ich am Grübeln, habe ich Recht oder meine Kollegen. Folgendes Szenario ist gegeben: Auf dem System existiert ein Perlskript, das, einmal angeworfen im Wesentlichen zwei Sachen macht: es pingt mir über einen ipsec-Tunnel den Rechner an, der am anderen Ende des Tunnels steht (DSL-Leitung). Die DSL-Leitung hat leider die Angewohnheit, sich zu verabschieden. Dann merkt es das Skript und sollte die Verbindung über eine ISDN-Leitung wieder herstellen. Das scheint mir aber nicht recht bzw. gar nicht zu funktionieren. Meine Kollegen sagen, tut. Ich sehe aber dieses Skript nicht in der Prozesstabelle, ich sehe dieses Skript auch nicht in der lsof-Ausgabe. Gibt es Prozesse, die ich so nicht sehen kann? Bei Firewallregeln weiß ich es - die bekomme ich indirekt. Aber ein Perlskript? Vor allen Dingen ein Skript, das ständig läuft? Aufgerufen wird es übrigens über eine Kombination von Routing- und Firewallskript, das seinerseits wieder von /etc/init.d/ipsec gestartet wird. Irgendwelche Vorschläge, wie ich das testen kann? (Wenn ich das Skript bei mir mir auf dem Rechner anwerfe, scheint es zu tun - zumindest ist es in der Prozesstabelle präsent). Helga -- ## Content Developer OpenOffice.org: lang/DE ## Office-Suite für Linux, Mac, Windows -- http://de.openoffice.org/ ## Werkstatt & Information zu OpenSource -- http://www.eschkitai.de/ ## Etikette, nein Danke? -- http://www.suse-etikette.de.vu/
Helga Fischer, Samstag 27 März 2004 12:12:
Hallo Liste,
im Moment bin ich am Grübeln, habe ich Recht oder meine Kollegen.
[... Script ist nich in Prozesstabelle - läuft es? ...]
Irgendwelche Vorschläge, wie ich das testen kann? (Wenn ich das Skript bei mir mir auf dem Rechner anwerfe, scheint es zu tun - zumindest ist es in der Prozesstabelle präsent).
Hab es gerade mit diversen Scripten bei mir getestet: alle tauchen in "ps -A" auf und auch in "top". -- Gruß MaxX 8-) Hinweis 1: PMs an diese Adresse werden automatisch vernichtet. Hinweis 2: Bitte unbedingt beachten: http://www.suse-etikette.de.vu
Hallo Helga, On Sat, Mar 27, 2004 at 12:12:45PM +0100, Helga Fischer wrote:
im Moment bin ich am Grübeln, habe ich Recht oder meine Kollegen.
hmm, ich tippe auf den|die lautere(n) :) [...]
Das scheint mir aber nicht recht bzw. gar nicht zu funktionieren. Meine Kollegen sagen, tut.
hehe
Ich sehe aber dieses Skript nicht in der Prozesstabelle, ich sehe dieses Skript auch nicht in der lsof-Ausgabe. Gibt es Prozesse, die ich so nicht sehen kann? Bei Firewallregeln weiß ich es - die bekomme ich indirekt. Aber ein Perlskript? Vor allen Dingen ein Skript, das ständig läuft?
a) gepatchtes "ps" b) aufruf über crontab c) daemon läuft tatsächlich nicht d) daemon hat anderen Namen als der nachdem du suchst :-)
Aufgerufen wird es übrigens über eine Kombination von Routing- und Firewallskript, das seinerseits wieder von /etc/init.d/ipsec gestartet wird.
also kein cron. Also auch kein laufender Daemon. ==> du hast wahrscheinlich recht.
Irgendwelche Vorschläge, wie ich das testen kann? (Wenn ich das Skript bei mir mir auf dem Rechner anwerfe, scheint es zu tun - zumindest ist es in der Prozesstabelle präsent).
Skript um eine Ausgabe erweitern, die du in eine Datei schreiben lässt. Greetings Daniel -- 1997 verstarb eine Frau aus Denver, Colorado am Steuer ihres Fahrzeuges, weil sie während einer Vollbremsung ihren Lippenstift verschluckte...
Hallo Daniel, Am Samstag März 27 2004 12:55 schrieb Daniel Lord:
On Sat, Mar 27, 2004 at 12:12:45PM +0100, Helga Fischer wrote:
Ich sehe aber dieses Skript nicht in der Prozesstabelle, ich sehe dieses Skript auch nicht in der lsof-Ausgabe. Gibt es Prozesse, die ich so nicht sehen kann? Bei Firewallregeln weiß ich es - die bekomme ich indirekt. Aber ein Perlskript? Vor allen Dingen ein Skript, das ständig läuft?
a) gepatchtes "ps"
Nein! (Natürlich weiß ich es nicht, aber ich gehe im Moment davon aus, daß es das nicht ist).
b) aufruf über crontab
Nein, da gucke ich immer zuerst rein.
c) daemon läuft tatsächlich nicht
OK. Die anderen Prozesse kann ich jedoch zuordnen. Diese Kiste ist recht übersichtlich.
d) daemon hat anderen Namen als der nachdem du suchst :-)
Den Perl-Interpreter hätte ich aber nicht übersehen. [...]
Irgendwelche Vorschläge, wie ich das testen kann? (Wenn ich das Skript bei mir mir auf dem Rechner anwerfe, scheint es zu tun - zumindest ist es in der Prozesstabelle präsent).
Skript um eine Ausgabe erweitern, die du in eine Datei schreiben lässt.
OK. Was systemmäßiges wäre mir zwar lieber gewesen, aber wo ihr Recht habt, habt ihr Recht. Letztendlich wird mir nur weiter helfen, das Skript gesprächiger zu machen. Helga -- ## Content Developer OpenOffice.org: lang/DE ## Office-Suite für Linux, Mac, Windows -- http://de.openoffice.org/ ## Werkstatt & Information zu OpenSource -- http://www.eschkitai.de/ ## Etikette, nein Danke? -- http://www.suse-etikette.de.vu/
Am 27.03.2004 um 12:12 schrieb Helga Fischer:
Folgendes Szenario ist gegeben: Auf dem System existiert ein Perlskript, das, einmal angeworfen im Wesentlichen zwei Sachen [..] Ich sehe aber dieses Skript nicht in der Prozesstabelle, ich sehe
Evtl. wird das Perlskript nicht als "./skript", sondern als "perl skript" gestartet. Dann steht es selbstverständlich als "perl" in der Prozesstabelle. Wenn nicht, lass das Skript doch beim Start seine PID in eine Datei schreiben: open PIDFILE, '/tmp/pifile'; print PIDFILE $$; close PIDFILE; Oder füge dem Skript eine END{}-Subroutine hinzu. Diese wird vom Interpreter nach einem exit() bzw. nach einem erfolgreichem die()-Aufruf aufgerufen - direkt bevor sich der Interpreter beendet. Dort kann das Skript dann in irgendein Log o.Ä. schreiben. Gruß, Dennis -- Private Mails bitte an dennis@...! Alles, was an lists@stosberg.net geht und nicht über die Liste kommt, verschwindet ungesehen im Müll.
Hallo Dennis, Am Samstag März 27 2004 14:01 schrieb Dennis Stosberg:
Am 27.03.2004 um 12:12 schrieb Helga Fischer:
Folgendes Szenario ist gegeben: Auf dem System existiert ein Perlskript, das, einmal angeworfen im Wesentlichen zwei Sachen
[..]
Ich sehe aber dieses Skript nicht in der Prozesstabelle, ich sehe
Evtl. wird das Perlskript nicht als "./skript", sondern als "perl skript" gestartet. Dann steht es selbstverständlich als "perl" in der Prozesstabelle.
perl habe ich aber auch nicht in der Prozesstabelle. Die erste Zeile des Skripts lautet /usr/bin/perl -w, also wird es erwartungsgemäß als /usr/bin/perl -w ./skript in meine Prozesstabelle eingetragen und würde da so lange rumhängen, bis es beendet wird. (Bei mir tut's aber nur extrem bedingt - laut strace fehlen meinem System etliche Perlbestandteile; ganz davon abgesehen, daß ich es anpassen müßte).
Wenn nicht, lass das Skript doch beim Start seine PID in eine Datei schreiben:
open PIDFILE, '/tmp/pifile'; print PIDFILE $$; close PIDFILE;
Das ist eine gute Idee, werde ich machen.
Oder füge dem Skript eine END{}-Subroutine hinzu. Diese wird vom Interpreter nach einem exit() bzw. nach einem erfolgreichem die()-Aufruf aufgerufen - direkt bevor sich der Interpreter beendet. Dort kann das Skript dann in irgendein Log o.Ä. schreiben.
Ich seh' schon, ich muß mal wieder ein paar Runden perl einlegen - aber mir besser irgendein Testszenario zurechtzimmern. Dem System, von dem wir reden, kann ich nicht dauernd seine Verbindungen neu starten und die Firewallregeln umbiegen. Helga -- ## Content Developer OpenOffice.org: lang/DE ## Office-Suite für Linux, Mac, Windows -- http://de.openoffice.org/ ## Werkstatt & Information zu OpenSource -- http://www.eschkitai.de/ ## Etikette, nein Danke? -- http://www.suse-etikette.de.vu/
participants (4)
-
Daniel Lord
-
Dennis Stosberg
-
Helga Fischer
-
Matthias Houdek