Hi
Ich hoffe ich bin im richtigen Forum. Hab da ein seltsames Problem mit einem Scheduled Task.
Dieser startet eine kleine .NET Konsolen-Applikation. In dieser Applikation wird wiederum per Process.Start ein .vbs-File aufgerufen.
Process vbsProc = Process.Start(ConfigurationManager.OutputPath + "\\" + WD_GEN);
Danach prüfe ich ob der VBS-Prozess noch am laufen ist und warte so lange:
while(Process.GetProcessById(vbsProc.Id) != null)
{
System.Threading.Thread.Sleep(TIME_STEP);
}
Das funktioniert alles auch ohne Probleme. Wenn ich nun aber den Scheduled Task unter einem User laufen lasse, der NICHT am System angemeldet ist, läuft der VBS-Prozess nicht bis zum Schluss durch, sondern hört irgendwann nach einer gewissen (+/- konstanten) Zeit auf (ohne erkennbaren Fehler).
Wenn ich den Scheduled Task jedoch mit dem User starte, der gerade angemeldet ist, funktioniert alles.
Weiss da jemand was? Ist zum verzweifeln sowas...
Dani
Hallo dani.net,
vermutlich ein Unterschied in der Umgebung (Umgebungsvariablen, Pfade, Arbeitsverzeichnis, Zugriffsrechte o.ä.). Du wirst wohl (durch Debugging/Tracing/Logging) herausfinden müssen, warum dein Prozess stirbt und solltest dabei auf die oben genannten möglichen Unterschiede achten.
herbivore
Hallo herbivore
Blöde Frage: Wie finde ich denn die Todesursache? 🙂 Fehler gibt's nicht, Eventlog schweigt... ?(
Gruss
Dani
Hallo dani.net,
wie gesagt: Debugging/Tracing/Logging
herbivore
Original von herbivore
wie gesagt: Debugging/Tracing/Logging
hm...
Loggen tu ich, aber kann nicht mehr rausschreiben als das der Prozess ordnungsgemäss beendet wurde.
Procmon sagt auch nichts verdächtiges.
Im Eventlog ist wie schon gesagt auch Ebbe
Mein Latein ist am Ende.