Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

Gameserver automatisch prüfen und mehr

Frage Entwicklung Batch & Shell

Mitglied: Mauser

Mauser (Level 1) - Jetzt verbinden

25.01.2011, aktualisiert 18:08 Uhr, 2828 Aufrufe, 2 Kommentare

Hallo. Ich bin hier neu und dieses Forum hat mir schon einige male geholfen, nur bei meinem Jetzigen vorhaben komm ich einfach nicht weiter.

Folgendes Problem:

Auf meinem RootServer (Win 2008) hab ich mehrere Gameserver laufen. 2 von denen stürzen mir aber immer wieder in unregelmässigen Abständen ab, was sich auch leider nicht fixen lässt.
Deshalb arbeite ich daran, die Gameserver nach einem Crash automatisch starten zu lassen.
Dazu hab ich mir diese Batch geschrieben (Code grössten teils aus diesem Forum)

01.
@echo off  
02.
set s2="Server2.exe" 
03.
:1 
04.
tasklist | findstr /i "%s2%" 1>NUL 2>&1 || %s2% + parameter 
05.
ping /n 11 localhost >nul 
06.
echo %date% - %time% -- Gameserver 2 neu gestartet... >>C:\...\Desktop\Servercrashes.log 
07.
goto 1
Dies funktioniert auch einwandfrei. Aber nur solange sich der Prozess nicht mehr in der Taskliste befindet. Wenn der Gameserver aber nur einfach nicht mehr reagiert, bleibt der Prozess ja erhalten.
und die Batch macht nix. Deshalb hab ich nach ewig langer Suche ein Powershell-Script gebastelt, welches den Prozess dann beendet, was ich aber nicht testen kann, weil ich das nicht per batch starten kann.

01.
$liste = ps 
02.
$date = date 
03.
$reeboot = "Server hing und Prozess wurde beendet. 
04.
IF ($liste -match "iw4mp2.exe") { 
05.
  $prozess = Get-Process Server2.exe 
06.
  If ($prozess.Responding -match "False") { 
07.
    Stop-Process -name "Server2.exe" 
08.
    "$date | $reboot" >>C:\...\Desktop\Servercrashes.log 
09.
10.
11.
else { 
12.
end 
13.
}
Jetzt muss die Batchdatei ganz oben dieses Powershell-Script ausführen. Nur hab ich gar keine Ahnung, wie das gehen soll! hab das mit call versucht, da hat der das nur geöffnet und nix weiter gemacht.

Jetzt kommt Ihr ins Spiel.
Könnt ihr mir sagen, wie ich die Powershell automatisch mit dieser Batch ausführen lassen kann und danach die Batch dann weiter macht?
oder könnt ihr mir einen noch besseren Vorschlag machen?
Mitglied: pieh-ejdsch
25.01.2011 um 19:45 Uhr
moin Mauser,
Willkommen im Forum.
wie Du mit PS-scripts im Batch verfährtst steht bei PowerShell for Runaways - Part I

Auszug:
2.Starten eines Scripts mittels einer Verknüpfung oder per Batch-Datei: powershell.exe -command "C:\Scriptname.ps1"

Gruß Phil
Bitte warten ..
Mitglied: Mauser
02.02.2011 um 16:28 Uhr
Hey hey,

Sorry, dass ich mich so lang nicht blicken lies.
Ich konnte mein Problem lösen.. Ein bekannter hat mir nen kleines PHP-Paket zusammen gebastelt, welches ich ganz bequem per Batch aufrufe.

Nun taucht aber das nächste auf, ist aber zum Glück kleiner.
Es gibt hier so unglaublich viele Beiträge zum Thema Prozess killen....
Ich brauch jetzt eine Möglichkeit, eine Anwendung zu per Batch zu beenden. Warum?

Antwort:
Die Gameserver sollen alle 24 Stunden neu gestartet werden. Um den RAM zu entlasten und um die Logfiles übersichtlich zu halten.
Das PHP-Paket starte ich bereits über eine Batch, diese muss aber da bleiben, da sonst ja die Serverüberwachung nicht mehr ausgeführt wird.
Laut Taskmanager heisst diese Anwendung "Server Überwachung" (ja, mit Leerzeichen) und der dazugehörige Prozess lautet "Cmd.exe"

Wenn ich aber in Zukunft wieder was basteln möchte, wer weiss schon was die Zukunft bringt, kann ich ja nicht einfach die Cmd.exe als Prozess killen,
wer weiss, welcher dann beendet wird?!
Ich brauch also eine Möglichkeit, die Anwendung zu beenden, also mit dem Namen, wie er im Taskmanager/Anwendungen zu finden ist.

Mögliche Lösung wäre ja, die PID auszulesen und den in der Batch als Variable zu verwenden. Nur weiss ich nicht wie,
Bitte warten ..
Ähnliche Inhalte
Microsoft Office
gelöst Automatisch entscheiden ob prozentual oder fest anzahl von Datensätze (7)

Frage von hugothemagpie zum Thema Microsoft Office ...

Windows Server
gelöst Client werden automatisch verschoben (11)

Frage von Gregor81 zum Thema Windows Server ...

Entwicklung
Seite automatisch wieder ausrichten mit css oder javascript? (2)

Frage von rababar2014 zum Thema Entwicklung ...

Neue Wissensbeiträge
Batch & Shell

Batch als Dienst bei Systemstart ohne Anmeldung ausführen

(4)

Tipp von tralveller zum Thema Batch & Shell ...

Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

(1)

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Peripheriegeräte

Was beachten bei der Wahl einer USV Anlage im Serverschrank

(9)

Tipp von zetboxit zum Thema Peripheriegeräte ...

Heiß diskutierte Inhalte
Windows 7
gelöst Lokales Adminprofil defekt (25)

Frage von Yannosch zum Thema Windows 7 ...

Server
gelöst Wie erkennen, dass nur deutsche IPs Zugang zu einer Website haben? (22)

Frage von Coreknabe zum Thema Server ...

LAN, WAN, Wireless
gelöst Statische Routen mit ISC-DHCP Server für Android Devices (22)

Frage von terminator zum Thema LAN, WAN, Wireless ...

Exchange Server
gelöst Migration Exchange 2007 zu 2013 - Public Folder teilweise weg (16)

Frage von Andy1987 zum Thema Exchange Server ...