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
GELÖST

Batch - start WAIT - funktioniert nicht

Frage Entwicklung Batch & Shell

Mitglied: ovu-p86

ovu-p86 (Level 1) - Jetzt verbinden

24.08.2011, aktualisiert 15:15 Uhr, 10262 Aufrufe, 6 Kommentare

Hallo,

will unter XP SP3 ein Programm über einen Cmd aufrufen.

Dabei soll zunächst ein Dienst gestartet werden dann ein Programm aufgerufen werden.
Erst nach Beendigung des Programms soll der Cmd weiterlaufen und den Dienst wieder beenden.

Bei dem aufzurufenden Programm handelt es sich um VirtualBox/BitBox.

01.
net start BitBoxService 
02.
start "" /Wait C:\progr\kommu\BitBoxVM\BitBox\Client\BitBox.exe 
03.
net stop BitBoxService
Problem: Der Cmd läuft durch. Habs auch mit Call und nur Programmaufruf probiert. Hab mir zunächst mit "Pause" beholfen, ab das ist keine schöne Lösung.

Ist mir auch schon bei anderen Programmen aufgefallen, das "start /wait ....." nicht funktioniert.
Ähnliches mit Vmware bspw. funktioniert.

1. Frage: Woran liegt es, daß "start /wait" bei manchen Programmen funktioniert und bei einigen nicht?
Mein konkreter Fall ist evtl. speziell, da "VirtualBox/BitBox" automatisch mit einem anderen Benutzerkonto gestartet wird.

2. Frage: Wie ich kann ich den konkreten Fall lösen?


Bin für Lösungsvorschläge dankbar.

Gruß
Uwe
Mitglied: BigWim
24.08.2011 um 13:03 Uhr
Hallo Uwe,

das funktioniert schon - nur nicht wie Du es Dir vorstellst

Wenn Du das ganze mal mit Notepad.exe probierst, wirst Du sehen, dass alle Deine Varianten funktionieren.

Vermutlich macht die BitBox.exe "etwas" (Aufruf einer weiteren Anwendungen, ....) und beendet sich dann wieder.

So etwas wirst Du vielleicht mit einer Schleife (Abfrage des Tasks) hinbekommen, was Du aber gut überdenken solltest.

Gruß
Markus
Bitte warten ..
Mitglied: ovu-p86
24.08.2011 um 13:44 Uhr
Hallo Markus,

genau, es funktioniert ja mit diversen Programmen, aber manchmal eben nicht.

Hab mal geguckt. Du hast recht, die BitBox.exe ist in der Tat nicht als Process zu finden. Stattdessen eben div. andere von BitBox.exe aufgerufene.

Die Lösung der Task-Abfrage ließe sich also realisieren, möchte aber eine Schleife mit ständiger Abfrage des Tasks wegen der zusätzlichen Ressourcennutzung vermeiden.

Gibt es noch eine andere Möglichkeit?

Gruß
Uwe
Bitte warten ..
Mitglied: ovu-p86
24.08.2011 um 14:58 Uhr
Hallo Markus,

da es wohl keine andere Lösung gibt, hab ichs jetzt doch mit der Schleife gemacht und mir einen Task rausgepickt.

Ressourcen halten sich doch in Grenzen. Ists mir wert. Brauch mich dann nicht mehr um den Cmd kümmern.

01.
@echo off & setlocal 
02.
net start BitBoxService 
03.
C:\progr\kommu\BitBoxVM\BitBox\Client\BitBox.exe 
04.
FOR /L %%n IN (1,1,1000000000000) DO ping -n 10 localhost > nul & for /f %%i in ('tasklist^| find /I /C "bitb.exe"') do if %%i EQU 0 net stop BitBoxService & exit
So funktionierts.

Danke nochmal für deinen Hinweis: "Vermutlich macht die BitBox.exe "etwas" (Aufruf einer weiteren Anwendungen, ....) und beendet sich dann wieder."
Das war das Problem.


Gruß
Uwe


[edit]
Um kein vordefiniertes Ende der Schleife zu haben die Zeile 4 von oben durch
01.
:schleife 
02.
ping -n 10 localhost > nul & for /f %%i in ('tasklist^| find /I /C "bitb.exe"') do if %%i EQU 0 (net stop BitBoxService) ELSE (goto schleife)
ersetzen

[/edit]
Bitte warten ..
Mitglied: BigWim
24.08.2011 um 15:27 Uhr
Hallo Uwe,

freut mich, Dir einen entscheidenen Tipp gegeben zu haben.

Vielleicht hätte ich da noch einen. Du kannst Deine Batch etwas vereinfachen, in etwa so

01.
@echo off 
02.
 
03.
:CheckTask 
04.
REM Sleep 2 
05.
REM tasklist | find /I /C "notepad.exe" >NUL: && echo Notepad gestartet && goto :CheckTask 
06.
tasklist | find /I /C "bitb.exe" >NUL: && Sleep 2 && goto :CheckTask 
07.
 
08.
echo Ende
Und dann kannst Du den Thread auf gelöst jetzt - das macht sich gut in meiner Statistik [Edit] Ich brauche eine Brille! [/Edit]

Gruß
Markus
Bitte warten ..
Mitglied: Skyemugen
24.08.2011 um 15:56 Uhr
Aloha Markus,

sleep.exe ist aber nicht bei jedem im Systemverzeichnis vorhanden, wenn es Windows-Default ist (dann gibt es kein sleep 2)

greetz André
Bitte warten ..
Mitglied: BigWim
24.08.2011 um 16:07 Uhr
Hallo André,

sleep.exe ist aber nicht bei jedem im Systemverzeichnis vorhanden
jetzt versteh ich endlich mal die Sportaufgabe mit dem Ping.

Danke für den Hinweis

Gruß
Markus
Bitte warten ..
Ähnliche Inhalte
Windows Netzwerk
gelöst Copy Befehl in einer batch funktioniert nicht. (3)

Frage von Pauli-H zum Thema Windows Netzwerk ...

Batch & Shell
gelöst Batch mit Copy auf SBS2008 funktioniert nicht, auf Client geht es (9)

Frage von CyCOtt zum Thema Batch & Shell ...

Batch & Shell
gelöst EQU - GLEICH - BATCH (8)

Frage von freshman2017 zum Thema Batch & Shell ...

Linux Tools
CentOS 7 Script beim Start und Shutdown (7)

Frage von OIOOIOOIOIIOOOIIOIIOIOOO zum Thema Linux Tools ...

Neue Wissensbeiträge
Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(29)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Humor (lol)

Bester Vorschlag eines Supporttechnikers ever: APC

(15)

Erfahrungsbericht von DerWoWusste zum Thema Humor (lol) ...

Windows Server

Exchange 2010 Active Directory und Windows Server 2016

(4)

Erfahrungsbericht von Herbrich19 zum Thema Windows Server ...

Heiß diskutierte Inhalte
Internet
gelöst Mitarbeiter surft auf unerwünschter Seite - Wie damit umgehen? (44)

Frage von sabines zum Thema Internet ...

Netzwerke
Wie erstelle ich ein Intranet (19)

Frage von Leonardnet zum Thema Netzwerke ...

LAN, WAN, Wireless
gelöst Eintägige Netzwerkunterbrechung trotz Backupleitung (15)

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

Router & Routing
PFsense - Netzverbindung steht, aber kein Internet vorhanden (13)

Frage von aschmid zum Thema Router & Routing ...