Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

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

Script zum prüfen von Prozessen

Frage Microsoft Windows Server

Mitglied: Florian86

Florian86 (Level 2) - Jetzt verbinden

22.09.2014, aktualisiert 23.09.2014, 1046 Aufrufe, 5 Kommentare

Hallo,

folgendes Problem:

ich möchte über ein Script was als geplanter Task läuft prüfen ob ein Programm auf einen Error gelaufen ist oder nicht und dieses evtl. neustarten.


folgenden Ablauf soll das Script haben:

1. Prüfung ob Programm läuft -> Script beenden

2. Prüfung ob Programm auf einen Error gelaufen ist -> wenn ja dann ::Taskkill und neustart

taskkill /im putty.exe /f
cd "C:\Users\decker-f.HENGLEIN-KH\Desktop"
start putty.exe -load "waage-208"

Leider weis ich nicht wie ich die Prüfungen einbaue bzw. kenn ich die Befehle nicht.

MfG

Florian86
Mitglied: Sheogorath
LÖSUNG 22.09.2014, aktualisiert 23.09.2014
Moin,


Das ist nicht schwer:
01.
tasklist | find "httpd"
Edit: Wichtig ist nur, dass du den Prozessnamen (in desem Fall httpd) in "" schreibst. Funktioniert ansonsten genaus wie ein einfaches grep unter Linux

Der Rest ist die Abfrage des Errorlevels.

Gruß
Chris
Bitte warten ..
Mitglied: Florian86
23.09.2014 um 07:42 Uhr
Hallo Chris,

ich habe nun folgenden stehen:

tasklist |find "putty.exe"
if errorlevel 0 goto end
if errorlevel 1 goto taskkill

:taskkill
taskkill /im putty.exe /f
cd "C:\Users\decker-f.HENGLEIN-KH\Desktop"
start putty.exe -load "waage-208"
goto end
:end

Problem ist das bei Errorlevel 0 >= gemeint ist.
Wie kann ich vermitteln das er bei keinem Fehler einfach zu END gehen soll???

MfG

Florian86
Bitte warten ..
Mitglied: Sheogorath
LÖSUNG 23.09.2014, aktualisiert um 09:48 Uhr
Moin,

also ich würde es so lösen:
01.
tasklist |find "putty.exe" 
02.
if %errorlevel% eq 0 goto end 
03.
 
04.
:taskkill 
05.
cd "C:\Users\decker-f.HENGLEIN-KH\Desktop" 
06.
start putty.exe -load "waage-208" 
07.
goto end 
08.
 
09.
:end
Errorlevel 0 tritt ja auf, dass er putty findet. (weswegen du dir taskkill sparen kannst, weil kein putty mehr läuft). Was du machen willst, sieht mir aber eher danach aus, dass du die Fehlermeldung des Verbindungsabbruchs finden willst. Das ist natürlich etwas anderes, aber auch nicht unmöglich. Da würde die Abfrage wie folgt aussehen:

01.
set remoteip 192.168.1.1 
02.
set remotecomputername waage-208 
03.
netstat -a |find "%remoteip%:22" 
04.
if errorlevel 0 goto end 
05.
netstat -a |find "%remotecomputername%:22" 
06.
if errorlevel 0 goto end 
07.
 
08.
 
09.
:taskkill 
10.
taskkill /im putty.exe /f 
11.
cd "C:\Users\decker-f.HENGLEIN-KH\Desktop" 
12.
start putty.exe -load "waage-208" 
13.
goto end 
14.
 
15.
:end
Hier musst du nur beachten, wie gut die rDNS eures unternehmens ist, also wie gut sich IPs zu DNS namen wieder auflösen lassen. Wenn diese richtig konfiguriert ist wird nämlich der DNS Namen statt der IP Adresse angezeigt. (Um zu verstehen wie das alles funktioniert, musst du natürlich wissen, was Putty macht, aber das kannst du dir natürlich anlesen)

Gruß
Chris
Bitte warten ..
Mitglied: Florian86
23.09.2014 um 09:51 Uhr
Hallo Chris,

Danke für die Unterstützung.

Ich habe es nun anders gemacht:

Man kann im Putty auch sagen, dass er bei einem Fehler putty ohne Meldung schliesen soll.
So lasse ich dann nur prüfen ob Putty noch läuft. Wenn es läuft soll er abbrechen und wenn nicht dann starten.

Tasklist |find "putty.exe"
if "%errorlevel%" == "0" goto end
if errorlevel 1 cd "C:\Users\decker-f.HENGLEIN-KH\Desktop\waage-208\"
start putty.exe -load "test"

:end

MfG

Florian
Bitte warten ..
Mitglied: Sheogorath
23.09.2014 um 10:32 Uhr
Moin,

das geht natürlich auch, ja.

allerdings kannst du es dann noch richtig elegant lösen:
01.
Tasklist |find "putty.exe" 
02.
if %errorlevel% eq 1 ( 
03.
cd "C:\Users\decker-f.HENGLEIN-KH\Desktop\waage-208\" 
04.
start putty.exe -load "test" 
05.
)
Somit sollte es dann wirklich komplett ohne goto gehen (ist eben eine Stilfrage) ohne goto kannst du es übrigens auch um ein vielfaches besser in andere Script und Programmiersprachen übertragen.

Gruß
Chris
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
PowerShell-Script zum Prüfen ob Datei(en) existieren (2)

Frage von Bonsai0815 zum Thema Batch & Shell ...

Windows 10
gelöst Auf Softwareupdates prüfen (4)

Frage von honeybee zum Thema Windows 10 ...

Visual Studio
gelöst Remotedienst prüfen mit Visual Basic (1)

Frage von flyingmichael zum Thema Visual Studio ...

Windows 7
Wie kann ich das beenden eines Prozesses Protokollieren? (7)

Frage von Scroller zum Thema Windows 7 ...

Neue Wissensbeiträge
Humor (lol)

Wo ist der Fehler auf dem Bild?

(15)

Information von the-buccaneer zum Thema Humor (lol) ...

Windows Update

Offenbar erneutes MS-Update mit Fehlerschleife (2012 R2)

Information von VGem-e zum Thema Windows Update ...

Windows Installation

Unorthodoxer Weg, um an einen Offline-Installer für Adobe Flash zu kommen

(14)

Tipp von beidermachtvongreyscull zum Thema Windows Installation ...

Heiß diskutierte Inhalte
Lizenzierung
Programm soll in verschiedenen Versionen lizenziert sein (20)

Frage von Yanmai zum Thema Lizenzierung ...

Windows Installation
Unorthodoxer Weg, um an einen Offline-Installer für Adobe Flash zu kommen (14)

Tipp von beidermachtvongreyscull zum Thema Windows Installation ...

Microsoft Office
Access Hilfe benötigt (13)

Frage von DieAzubinne zum Thema Microsoft Office ...

Windows Userverwaltung
Ordner-Rechte für Dom.Admin einschränken? (13)

Frage von kilobyte zum Thema Windows Userverwaltung ...