[so] Tema 1 Windows - redirectari

Dragan Stefan ph0enix1810 at gmail.com
Fri Nov 3 23:29:21 EET 2006


1. pe win nu ai fork, deci nu ai nev sa schimbi std handle-ul apeland
aceasta functie.

2. corect

3. inputul si outputul la noul process ori va fi la/de la consola shell-ului
fie la/de la fisier. Deci ghici ciuperca ce-i? foloseste GetStdHandle sau
CreateFile pt a genera handle-uri pe care le pui in STARTUPINFO in functie
de caz. Eu am foloisit DuplicateHandle pt a obtine handle inheritable din ce
imi da GetStdHandle.

4. nu. STARTUPINFO.hSthInput = handle inheritable la fisier si gata.

From: so-bounces at cursuri.cs.pub.ro [mailto:so-bounces at cursuri.cs.pub.ro] On
Behalf Of Catalin Iacob
Sent: Friday, November 03, 2006 11:04 PM
To: so at cursuri.cs.pub.ro
Subject: [so] Tema 1 Windows - redirectari

 

Din ce am observat eu, pe Windows:

1. functia DuplicateHandle nu face acelasi lucru ca dup2 din Linux in ciuda
asemanarii de nume si nu e utila pentru redirectari

2. nu se poate folosi SetStdHandle pentru ca el ar schimba outputul si
inputul shellului nu al proceselor pe care le lanseaza 

3. am tot incercat cu setarea explicita a hSthInput, hStdOutput, hStdError
din STARTUPINFO inainte de CreateProcess, problema e ca daca in comanda am
de exemplu doar redirectarea stdout nu stiu ce valori sa pun in hStdInput si
hStdOutput - sa fie utile aici handlere obtinute din CONIN$ si CONOUT$ cu
CreateFile? 

4. pe Win chiar si redirectarile simple gen cat <aa au neaparata nevoie de
pipe-uri

Rugamintea mea ar fi ca unul dintre asistenti sa imi spuna despre fiecare
din observatiile de mai sus daca e corecta sau nu 

Si daca nu sunt aproape de solutie poate ar putea sa-mi dea si o idee :-D. 

Multumesc

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://cursuri.cs.pub.ro/pipermail/so/attachments/20061103/5682b2fb/attachment.htm


More information about the so mailing list