Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Tasks Killen

Mitglied: Arkham

Arkham (Level 1) - Jetzt verbinden

04.09.2008, aktualisiert 06.09.2008, 4382 Aufrufe, 6 Kommentare

Hallo liebe Administratoren,

ich habe ein Problem,
ich hab einen Linux Server (distri Debian 3.1),
benoetige hierfuer ein Script was "abgetorbene" tasks killt.
Gaebe es eine Moeglichkeit soetwas zu stande zu bringen?
Ich kenne mich leider noch zuwenig mit Linux aus um das selbst zu machen.

LG

Arkham
Mitglied: datasearch
04.09.2008 um 22:23 Uhr
Kannst du etwas mehr über die Tasks verraten? Wenn der Prozess als Zombie, dead o.ä. in der Prozessliste auftaucht ist es ziemlich einfach. Sollte der Status allerdings bei "absturz" noch normal sein, musst du die Funktion des Prozesses irgendwie überprüfen.

Zb. Der erste Fall könnte ein backup-Prozess sein, der abgestorben ist weil ein Problem auf dem SCSI-Bus zum bandlaufwerk vorlag. Status DEAD. Du musst nur die Ausgabe der Prozessliste filtern, den dead-process zur binary (und evt. zum startscript) zuordnen und den Prozess töten, neustarten usw.

Im zweitem Fall könnte ein Webserver aufgrund einer fehlerhaften CGI-Anwendung keine HTTP-Anfragen mehr annehmen. Der Prozess selbst läuft aber aus systemsicht weiter. in diesem Fall musst du den HTTP-Port abfragen und die Ausgabe auswerten. Könntest du im Fall webserver mit einem wget prüfen. Liefert es einen connect-fehler auf port80, ist der webserver tot und du startest ihn neu.

Es gibt auch Monitoring-Tools die genau das machen. Zb. Servicemon oder Watchdog.

Ich hoffe diese oberflächliche Antwort hilft dir bei der Lösungssuche.
Bitte warten ..
Mitglied: theton
04.09.2008 um 23:23 Uhr
Man kann einfach überprüfen ob der Prozess noch Signale annimmt, was er im Normalfall nur tut, wenn er funktionsfähig ist, und wenn nicht, killt man ihn einfach. Einfach mittels 'kill -0 <PID>' ein Signal an den Prozess schicken und schauen ob er drauf reagiert. In einem Bash-Skript dürfte das z.B. so aussehen:

01.
... 
02.
if kill -0 ${PID} 2>/dev/null 
03.
then 
04.
  # signal angenommen 
05.
else 
06.
  # signal nicht angenommen 
07.
fi 
08.
...
Bitte warten ..
Mitglied: datasearch
04.09.2008 um 23:40 Uhr
Hmh, stimmt. Könnte man kombinieren um einen eigenen Watchdog zu basteln.

01.
if kill -0 $(pidof /usr/sbin/httpd); then echo OK; else echo fehler; fi
Könnte man weitertreiben und eine Liste der zu überwachenden Prozesse aus einer Textfile auslesen. Bei fehler könnte man gleich den Prozess killen und per init-script neu starten.
Genau das macht aber eigentlich watchdog

Bringt dir aber leider nichts wenn der Prozess zwar reagiert, aber keine Anfragen mehr bearbeitet. Könnte zb. auftreten wenn Postfix probleme beim prüfen der DNSBL oder der abfrage einer Datenbank hat. Oder der Apache-Webserver wartet ewigkeiten auf ein Modul. Willst du sichergehen, brauchst du einen Servicemonitor.
Bitte warten ..
Mitglied: theton
04.09.2008 um 23:55 Uhr
Ja, das stimmt wohl. Service-Monitoring kann man ja recht einfach über Nagios umsetzen. Bei Webservern bevorzuge ich aber zumeist ein eigenes Skript. In die zu überwachende Website baut man am Ende einen eindeutigen HTML-Kommentar ein (z.B. '<!-- test_ping -->') und überprüft dann mittels Skript einfach, ob der Kommentar vorhanden ist.

01.
#!/usr/bin/perl -w 
02.
 
03.
use WWW::Mechanize; 
04.
use Net::SMTP; 
05.
my $message = ''; 
06.
my $mailserver = 'localhost'; 
07.
my $mail_from_addr = 'homepagemonitor@domain.tld'; 
08.
my $admin_email = 'admin@pager.tld'; 
09.
 
10.
sub send_mail_to_admin 
11.
12.
    my ($message) = @_; 
13.
    my $smtp = Net::SMTP->new($mailserver, 
14.
                              Hello => 'localhost', 
15.
                              Timeout => 60); 
16.
    $smtp->mail($mail_from_addr); 
17.
    $smtp->recipient($admin_email); 
18.
    $smtp->data; 
19.
    $smtp->datasend("Subject: Alert from Homepage Monitoring"); 
20.
    $smtp->datasend("\n"); 
21.
    $smtp->datasend($message); 
22.
    $smtp->dataend; 
23.
    $smtp->quit; 
24.
25.
 
26.
my $url = "http://domain.tld/"; 
27.
 
28.
my $mech = WWW::Mechanize->new(); 
29.
$mech->get($url); 
30.
my $content = $mech->content(); 
31.
 
32.
if($content =~ /test_ping/) { 
33.
    print "All is fine with homepage on domain.tld.\n"; 
34.
} else { 
35.
    $message = "Something is wrong with homepage on domain.tld.\n"; 
36.
    $message .= "Current content:\n"; 
37.
    $message .= $content."\n"; 
38.
    &send_mail_to_admin($message); 
39.
}
Das lässt sich natürlich beliebig ausbauen, z.B. mit vorherigem Login über ein Formular u.ä. Man kann es einfach als Cron laufen lassen und kann damit sicher sein, dass eine Seite korrekt ausgeliefert wird.
Bitte warten ..
Mitglied: datasearch
05.09.2008 um 00:06 Uhr
Feines script. Das könnte man nun noch um die verschiedensten plain-text Protokolle erweitern. Super Idee. Ich hoffe ihm gefällt es auch

Ich verlasse mich eben zu sehr auf die Monitoring-SW. Damit könnte man den Server zuverlässiger prüfen, auch wenn die VPN zum Remotestandort mal ausfällt.

Theoretisch könnte man ja auch in einem Bash-Script per curl solche Prüfungen starten. Werde ich morgen mal probieren (ich mag perl nicht besonders).
Bitte warten ..
Mitglied: Arkham
06.09.2008 um 12:33 Uhr
vielen vielen dank @ll ihr habt mir sehr geholfen,
werde mal die scripts testen und hoffe das es funktioniert

LG

Arkham
Bitte warten ..
Ähnliche Inhalte
Windows Server
Firefox und Chrome - SSD Killer?
Frage von jojo0411Windows Server18 Kommentare

Hallo Leute, Es gab letztes Jahr mal ein riesen Thema zu diesem Phänomen unter Firefox und Chrome. Ist das ...

Debian
User Kill-Befehl erlauben
gelöst Frage von Fenris14Debian15 Kommentare

Guten Tag, folgendes soll umgesetzt werden: Ein User soll sich im Notfall auf einen Linux-Server einloggen und auf der ...

Windows Server

Einem Benutzer erlauben Prozesse zu killen

gelöst Frage von KMP1988Windows Server3 Kommentare

Servus, kann man für einen Domänen-User ein Recht vergeben, dass er einen bestimmten Prozess beenden kann? (Taskmanager Prozesse Prozess ...

Batch & Shell

Einen Prozess killen wenn die Published App geschlossen wird - Ideen?

gelöst Frage von pixel0815Batch & Shell21 Kommentare

Servus zusammen, wir haben eine Published Applikation in der ein Fremdaufruf gestartet wird. Wenn ich jetzt die Applikation beende, ...

Neue Wissensbeiträge
Windows 10
Zero-Day-Lücke in Microsoft Edge
Information von kgborn vor 19 StundenWindows 10

In Microsofts Edge-Browser klafft wohl eine nicht geschlossene (0-Day) Sicherheitslücke im Just In Time Compiler (JIT Compiler) für Javascript. ...

Sicherheit
Microsoft und Skype: Sicherheit
Information von kgborn vor 20 StundenSicherheit

Die Tage gab es ja einige Berichte zur Sicherheit des Skype-Updaters. Der Updater von Skype läuft unter dem Konto ...

Datenschutz

Behörden ignorieren Sicherheitsbedenken gegenüber Windows 10

Information von Penny.Cilin vor 1 TagDatenschutz8 Kommentare

Hallo, passend zum Thema Ablösung LIMUX in München ein Beitrag bei Heise (siehe Link folgend). Behörden ignorieren Sicherheitsbedenken gegenüber ...

Sicherheit
Information Security Hub Munich airport
Information von brammer vor 1 TagSicherheit

Hallo, Neues Center für Cyber Kriminalität am Münchener Flughafen brammer

Heiß diskutierte Inhalte
Exchange Server
Exchange Postfach Einbindung Betriebs-rat -Arzt, Bewerbung .
gelöst Frage von YellowcakeExchange Server23 Kommentare

Hey ich habe da mal eine Denksport Aufgabe bekommen Genutzt wird ein Exchange Server 2010. hier gibt es den ...

Windows Server
Delgegierte OU via RDP verwalten - Objektverwaltung zuweisen
gelöst Frage von TOAOICEWindows Server12 Kommentare

Hallo, ich habe folgendes Problem. Ich möchte in meiner Domäne (Server2016), einer Gruppe (OUAdmin) Berechtigungen auf die OU Test ...

LAN, WAN, Wireless
Gigabit-Lan mit zwei 4-adrigen Kabeln?
Frage von ArvedirmerLAN, WAN, Wireless11 Kommentare

Ich habe folgendes Problem: Ich betreue eine kleine Firma die sich im 1.Stock eines Gebäudes befindet. Es existiert ein ...

Router & Routing
Routing Probleme mit Firewall
gelöst Frage von mb1811Router & Routing9 Kommentare

Hallo Zusammen! Ich habe folgende Problematik, wo ich ein wenig Input benötige: Gem. angehängter Skizze habe ich folgenden Stand: ...