NT 4.0: Process-ID in CommandBox

Hi Wer-Weiss-Wasser,

Situation:
Auf einem NT-System laufen Nachts verschiedene Batch-Programme, die in CommandBoxen starten und dann u.a. Perl-Programme usw ausführen.
Diese von den Batch-Programmen gestarteten Programme loggen Fehler, Erfolge, usw in Logdateien.
Global wird von dem Batchprogramm geloggt, ob Fehler o.ä. auftraten.

Problem:
Die Logbücher sollen nach zusammenhängenden Jobs sortiert werden. Leider laufen die Programme um Mitternacht herum -> Datum in Dateinamen funktioniert nicht.
Darum soll die Prozeß-ID in den Namen mit eingebunden werden, die das Command-Fenster unter WinNT bekommen hat.

Wie kann ich in der CommandBox die eigene Prozeß-ID abrufen?
geht das am Besten mit C, Perl, usw?

Thx,
Tom

Darum soll die Prozeß-ID in den Namen mit eingebunden werden,
die das Command-Fenster unter WinNT bekommen hat.

Wie kann ich in der CommandBox die eigene Prozeß-ID abrufen?
geht das am Besten mit C, Perl, usw?

Im NT4 Ressource Kit SP4RK gibt es das Programm tlist.exe , welches alle aktiven Prozesse auf stdout ausgibt. Das Ergebnis gibt Tabulatorgetrennt die Prozess-ID, den Programmnamen sowie eine Programmbeschreibung aus.

 0 System Process
 2 System
 28 SMSS.EXE
210 EXPLORER.EXE Program Manager
213 NTVDM.EXE DIME Tools - Syslog Daemon
130 EM\_EXEC.EXE
196 TASKMGR.EXE Windows NT Task-Manager
249 DDHELP.EXE
 70 BRKMON.EXE
228 CMD.EXE Eingabeaufforderung - tlist
223 tlist.exe

Du musst das Ergebnis scannen nach Eingabeaufforderung - tlist und hast damit die eigene Prozess-ID der aufrufenden DOS-Box, in diesem Fall also 228.

Das Ressource Kit kannst du downloaden von http://www.microsoft.com/ntserver/nts/downloads/reco…

Die Installation setzt eine bestimmte Version des Internet Explodierers voraus, wenn du damit Probleme bekommst, kannst du diese umgehen, indem du bei entsprechender Fehlermeldung diese ignorierst, und die entpackten Programme aus dem temp-Verzeichnis einfach woanders hin kopierst.