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

Nur Prozess per Batch starten wenn nicht vorhanden

Frage Entwicklung Batch & Shell

Mitglied: MuriBln

MuriBln (Level 1) - Jetzt verbinden

22.11.2005, aktualisiert 25.11.2005, 14237 Aufrufe, 6 Kommentare

Hallo,

ich hab folgendes Problem.
Wie bekomme ich ein Start eines Prozesses hin mit vorheriger Prüfung ob dieser schon läuft.
Kleines Beispiel: In meiner Batch werden zwei .exe Dateien gestartet, jedoch soll die erste nur gestartet werden, wenn diese noch nicht gestartet wurde.
Ich hoffe es ist verständlich, ich dachte an eine For Schleife mit Abfrage der laufenden Prozesse oder so...

Ich bekomme es leider nicht hin

Kann mir einer helfen?
Mitglied: Biber
22.11.2005 um 15:40 Uhr
Moin MuriBln,

ich würde es in diesem Fall nicht über (eigene) For-Schleifen machen, sondern mit einem dieser vielen Prozesslister. Ich glaube, sogar M$ liefert schon irgendetwas mit, aber ich verwende meist das "psList"-Utiltily von www.sysinternals.com.

Mit den meisten Prozess-Listern kannst Du gezielt nach einem Prozess fragen und bekommt ein ErrorLevel zurück, falls Prozess nicht vorhanden. Damit reduziert sich Dein Programmieraufwand auf eine halbe Zeile. Beispiel: Test, ob Internet-Explorer ("IEXPLORE") gestartet:
$MyPrompt$(pslist iexploder >nul) || @echo iexploder not found!
iexploder not found!

$MyPrompt$(pslist iexplore >nul) || @echo iexplore not found!
(alles ok, kommt kein echo)
oder, in Deinem Fall
$MyPrompt$(pslist MURIBLN >nul) || start x:\Pfad\dahin\MuriBln.exe

Falls Du einen Prozesslister benutzt, den Du nicht nach einzelnen Prozessen fragen kannst:

$MyPrompt$(otherPLister|find "MURIBLN" >nul) || start x:\Pfad\dahin\MuriBln.exe
Thats all. HTH
Biber
[Edit] Habe noch mal meinen Prompt, bisher dargestellt als ">"-Zeichen, geändert in "$MyPrompt$", um Verwechslungen zu vermeiden. [/Edit]
Bitte warten ..
Mitglied: MuriBln
22.11.2005 um 19:32 Uhr
Hi Biber,
danke für Deine Antwort, nur klappts leider noch nicht ganz..

Den PSList kenne ich, leider erstellt er eine Liste aller Prozesse auf dem Server.
Ich habe hier eine Terminal Server Umgebung und brauche nur die Taskliste des jeweiligen Benutzers. Daher habe ich mich entschlossen "Query Process" zu nutzen.

Wenn ich Deinen Beispielen folge habe ich leider diese Fehler.
Wenn ich ">(pslist iexplore >nul) || @echo iexplore not found!" ausführe, startet bei mir der Internet Explorer!?!
Und bei meinem Versuch ">("query process"|find iexplore >nul) || @echo iexplore not found!"
Kommt der Fehler > "|" ist syntaktisch an dieser Stelle nicht verarbeitbar.

Was mache ich Falsch?
Bitte warten ..
Mitglied: Biber
22.11.2005 um 21:59 Uhr
Hmm, MuriBln,

möglicherweise hast Du das Größerzeichen ">" mit eingegeben, mit dem ich nur meinen CMD-Prompt andeuten wollte.
Machs erst Schrittweise vom CMD-Prompt und kopier Dir dann die funktionierende Zeile in einen Editor bzw. in eine Batch-Datei.
(an CMD-Prompt)pslist
(erzeugt eine meterlange Liste)

PsList 1.26 - Process Information Lister
Copyright (C) 1999-2004 Mark Russinovich
Sysinternals - www.sysinternals.com

Process information for BIBERSBESTEN:

Name Pid Pri Thd Hnd Priv CPU Time Elapsed Time
Idle 0 0 1 0 0 10:01:42.062 0:00:00.000
System 4 8 48 564 0 0:02:06.602 0:00:00.000
.....
IEXPLORE 1512 8 39 1216 50432 0:02:08.975 10:49:37.386
...
So oder ähnlich wird es auch bei Deinem Query-Tool sein - das hab ich nicht.

Step zwei: nur nachsehen, ob "IEXPLORE" dabei ist:
(am CMD-Prompt)pslist|find "IEXPLORE"
IEXPLORE 1512 8 39 1218 50432 0:02:09.526 11:00:50.834

Step drei: nur nachsehen, ob "IEXPLORE" dabei ist und den Output wegwerfen:
(am CMD-Prompt)pslist|find "IEXPLORE">nul
(am CMD-Prompt)echo %ErrorLevel%
(Output)0
0 bedeutet in dem Fall "gefunden", "1" würde "nicht gefunden" heißen.

Step 4:
(am CMD-Prompt)(pslist|find "IEXPLORE">nul) || Echo "nicht gefunden"

bedeutet: wenn das Krams in der Klammer "(....)" einen ErrorLevel > 0 erzeugt, dann echo bla

Wenn Du es bis hierhin hast (mit Deinem Query-Tool), dann schaffst Du den Rest ohne mich.
Grüße Biber
Bitte warten ..
Mitglied: MuriBln
24.11.2005 um 15:35 Uhr
Hi,
danke für Deine Geduld.

Jetzt hats auch bei mir geklappt...
Meine Zeile: (qprocess > find calc.exe >NUL: 2>&1)||if errorlevel 1 start calc.exe

Bye,
Muri
Bitte warten ..
Mitglied: Biber
24.11.2005 um 16:56 Uhr
Moin MuriBln,
freut mich, dass es klappt.
Nur der Vollständigkeit halber: das "||" und "if errorlevel 1" ist doppelt gemoppelt.
Der Batch kann nur auf der rechten Seite der "||"-Prüfung ankommen, wenn und weil ein Errorlevel 1 oder größer gesetzt ist. Kannst also das "if errorlevel 1" auch weglassen.

Schönen Abend Dir
Biber
Bitte warten ..
Mitglied: MuriBln
25.11.2005 um 15:04 Uhr
Rischtisch !

Danke noch mal.
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Batch erst starten wenn bestimmte Datei vorhanden ist
gelöst Frage von pdiddoBatch & Shell7 Kommentare

Hi Jung, in meiner batch wird eine .txt Datei bearbeitet. Diese .txt ist aber nur bei einer bestimmten Ereignisauslösung ...

Windows Server
Beim Start keine Netzwerkdrucker vorhanden
Frage von TimoC1982Windows Server2 Kommentare

Moin Moin, Wir haben seit längerer Zeit ein Problem in unser Terminalserver Umgebung (W2K8R2 + aktuellen Stand, Xenapp 6.0 ...

Batch & Shell
Batch aus Batch mit anderen Rechten starten
gelöst Frage von thilo-55Batch & Shell15 Kommentare

Hallo zusammen, bin schier am verzweifeln: System ist Win7 mit Benutzer "User" mit user-rechten und "Admin" mit admin-rechten (wer ...

Batch & Shell
Wenn Prozess läuft kann Batch den Code nicht weiterverarbeiten?
gelöst Frage von spookypoofBatch & Shell11 Kommentare

Hallo, Ich hab ein Problem. Ich hab z.B. zwei verschiedene Menü's und im zweiten Menü starte ich eine Datei. ...

Neue Wissensbeiträge
Microsoft Office

Office 2010 Starter erneut auf einer frischen Windows-Version installieren

Tipp von Lochkartenstanzer vor 16 StundenMicrosoft Office6 Kommentare

Moin, vor ein paar Tagen schlug bei mir ein Kunde auf, der sein Widnows 7 geschrottet und es inklusive ...

Datenbanken

Upgrade MongoDB 3.4 auf 3.6

Erfahrungsbericht von Frank vor 18 StundenDatenbanken

Seit kurzem gibt es das 3.6 Update für die MongoDB: Sicherheit, das Sortieren, Aggregation und auch die Performance wurde ...

SAN, NAS, DAS

Backdoor Zugang und Upload-Bug in vielen Western Digital MyCloud Geräten

Information von Frank vor 19 StundenSAN, NAS, DAS2 Kommentare

James Bercegay von der Firma Gulftech hat die Fehler an Western Digital gemeldet und das Unternehmen stellt bereits ein ...

Microsoft Office

Outlook 2016 - Beim Weiterleiten keine PDF Anhänge mehr - KB4011626 entfernen

Erfahrungsbericht von Deepsys vor 22 StundenMicrosoft Office3 Kommentare

Wenn ihr feststellt das ihr beim Weiterleiten von E-Mails keine PDF Anhänge mehr versendent, dann dankt Microsoft. Diese tolle ...

Heiß diskutierte Inhalte
Windows Netzwerk
Drucker isolieren in Windows Domäne
gelöst Frage von lcer00Windows Netzwerk14 Kommentare

Hallo zusammen, habe eine Windows-AD (2012R2) in der es einen Druckerserver gibt. Mittlerweile verliere ich das Vertrauen in die ...

Server-Hardware
Veeam Backup Server stürzt alle paar Tage ab
Frage von Leo-leServer-Hardware12 Kommentare

Hallo Forum, ich habe momentan folgendes Problem. Veeam Backup and Replication 9.5 u2 auf voll gepatchten DL 380 G7 ...

Windows 10
Windows10-Schnellzugriff per Kommandozeile bearbeiten
Frage von SarekHLWindows 1010 Kommentare

Hallo zusammen, weiß jemand, wie ich per Kommandozeile (in einem Logon-Script) den persönlichen Dokumentenordner aus dem Schnellzugriff entferne den ...

Batch & Shell
Dateien verschieben mit batch
gelöst Frage von michi-ffmBatch & Shell10 Kommentare

Hallo Zusammen hat jemand evtl eine Idee? Zunächst hier das Skript: Leider werden keine UNC-Pfade unterstüzt, kann mir jemand ...