Programmieren - alles kontrollieren 4.938 Themen, 20.667 Beiträge

Suche: eindeutige Id für jede DOS-Box

Mdl / 7 Antworten / Flachansicht Nickles

Wenn ich heute schon mal so schön am Programmieren bin...

Manchmal erzeuge ich in meinen Batchdateien (oft mithilfe eines aufgerufenen EXE-Files Hilfsdateien, die ich mittels CALL dann explizit aufrufe und die möglichst eindeutig sein sollten, damit ein parallel gleichzeitig ausgeführtes Batchfile in einer anderen DOS-Box mit diesen nicht in Konflikt gerät. (Soll nur der Hintergrund sein: Muss man nicht verstehen...)

Dazu würde ich in jeder DOS-Box gerne eine Environment-Variable haben, die einen eindeutigen Wert besitzt, d.h. keine zwei gerade laufenen DOS-Boxen haben für diese Variable dieselbe Belegung.

???????-------
? Wie kann ich einen solchen Wert in C finden?
Z.B. würde der Einspringpunkt des dieser DOS-Box zugeordneten Command/CMD-Befehls gehen? Wäre der bei jedem Aufruf immer anders? Wie kann man den ermitteln?
???????--------

Vielen Dank,

Mdl



bei Antwort benachrichtigen
Mdl ChrE „Hallo, Jede cmd.exe hat eine eigene Prozessnummer PID . Hiermit:...“
Optionen

Hallo CrE

und danke für den Tipp.

GETPIDS gibt ja ein paar Zahlen wieder, bei meinen Versuchen immer 4 Stück.

Wenn ich die Anleitung richtig verstehe, dürfte die vorletze Zahl beim Direktaufruf von GETPIDS dem CMD Befehl zugeordnet sein. D.h. habe ich zwei oder mehr DOS-Boxen offen und rufe GETPIDS auf, müsste die vorletzte Zahl bei jeder DOS-Box unterschiedlich sein.

? Ist das richtig?

(Bei meinen Tests waren diese Zahlen nie gleich, aber nur weil ich bei 20 Versuchen nie in die Mitte einer Dart-Scheibe getroffen habe, heißt das ja nicht, dass das ja nicht dass unmöglich ist...)


(Falls ja könnte ich die in der Ausgangsfrage gesuchte, für jede DOS-Box eindeutige Environment-Variable einfach mit diesem Wert belegen und das Problem wäre gelöst...)

Viele Grüße,

Mdl

bei Antwort benachrichtigen
Jooh, geht,.. Mdl