kartoffelpelle
Goto Top

Fehlermeldung: Ein Prozess hat versucht, zu einer nicht bestehenden Pipe zu schreiben

Hallo zusammen,

leider benötie ich schon wieder euren kompetenten Sachverstand und würde mich über jede Hilfe sehr freuen.
Ich habe ein Batch-File (zusammengekürzt) mit folgendem Inhalt erstellt:

setlocal enabledelayedexpansion
set Task1=explorer.exe
set /a counter=1
set findvar=!Task%counter%!
for /f "tokens=5 delims= " %%a in ('Tasklist^| find.exe /i "%findvar%"') do set memvar=%%a  
echo %memvar%
pause

Wenn ich das Skript als Administrator ausführe, wird der Arbeitsspeicher, den die Anwendung Explorer.exe verbraucht, korrekt in die Variable "memvar" geschrieben. Soweit alles OK.

Führe ich das Skript mit meinem Windows-User aus, hängt die for-Schleife fest und im Taskmanager werden tausende cmd.exe-Anwendungen sichtbar. Nach einiger Zeit ist der Arbeitsspeicher dann voll und der Rechner startet neu. Wenn ich den Vorgang mit Strg+C abbrechen will, wird die Console vollgeschrieben, aber der Prozess kann nicht abgebrochen werden:

^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^^C^CC^^CC^C^C^C^C^C^C^C^C^C^^^^CCC^CC^C^C^C^C^C^C^C^C^C^C^C^^CC^C^C^C^C^C^C^C^C^C^C^C^C^C^^CC^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^CEin Prozess hat versucht, zu einer nicht bestehenden Pipe zu schreiben.
^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^CEin Prozess hat versucht, zu einer nicht bestehenden Pipe zu schreiben.
^C^C^CEin Prozess hat versucht, zu einer nicht bestehenden Pipe zu schreiben.
^CEin Prozess hat versucht, zu einer nicht bestehenden Pipe zu schreiben.
Ein Prozess hat versucht, zu einer nicht bestehenden Pipe zu schreiben.

Zum Glück lässt sich der Prozess durch den Schließen-Button im Fenster abbrechen...

Natürlich darf der Benutzer die Funktionen Find und Tasklist verwenden. Der Benutzer ist nicht durch irgendwelcher Policies o.Ä. beschnitten. Das Problem tritt bei Windows 7 und Windows 10 gleichermaßen auf.

Könnt ihr das Problem wie beschrieben reproduzieren?
Habt ihr eine Idee woran es liegen könnte?
Habt ihr eine Idee, wie ich die For-Schleife umbauen muss, um an die gewünschte Information zu gelangen?

Danke!

Viele Grüße
Kartoffelpelle

Content-Key: 424835

Url: https://administrator.de/contentid/424835

Printed on: April 16, 2024 at 21:04 o'clock

Member: Kartoffelpelle
Kartoffelpelle Mar 05, 2019 at 17:17:30 (UTC)
Goto Top
Hallo zusammen,

Es war ein echt blöder Fehler...

Ich habe das Skript Tasklist.cmd genannt. Da ich den Aufruf von Tasklist unqualifiziert vorgenommen habe, hat der Lokale User immer als erstes das Skript, welches ich bereits gestartet habe gefunden und verarbeitet. Somit wurde das Skript eine Schleife geschickt.

Schon komisch, das sowas überhaupt möglich ist...

Der Administrator, dessen Einsprung in der Shell auf einem anderen Pfad stand, hat die Tasklist.exe im System32Dir zuerst gefunden und verwendet. Somit konnte dieser die Funktion problemlos ausführen.

Manchmal steht man echt auf dem Schlauch...

Viele Grüße
Kartoffelpelle