[so] Q: comenzi interne

Ioana Cutcutache so@atlantis.cs.pub.ro
Sun, 26 Oct 2003 10:55:37 +0200


This is a multi-part message in MIME format.

------=_NextPart_000_0016_01C39BAF.B039DCB0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

    Legat de comanda cd si paralelism : din cate am vazut cd nu poate fi =
implementat intr-un proces separat deoarece in acest caz s-ar schimba =
directorul curent pentru acel proces si nu pentru procesul parinte, iar =
ideea e ca directorul curent sa fie schimbat pentru procesul parinte. =
Deci nu merge nici sa fac chdir dupa fork (in varianta linux), nici sa =
implementez un cd extern (in varianta windows), schimbarea directorului =
trebuie facuta in procesul parinte. Asa ca as vrea sa stiu, in cazul in =
care apare comanda cd impreuna cu operatorul '&' ce se face? Sau daca =
apar 2 comenzi cd separate de '&' ?
  ----- Original Message -----=20
  From: George Ciobanu=20
  To: so@atlantis.cs.pub.ro=20
  Sent: Saturday, October 25, 2003 6:24 PM
  Subject: Re: [so] Q: comenzi interne


  Salut,

  O comanda interna este executata direct de catre interpretorul de =
comenzi scris de tine. Acest lucru inseamna ca pt executia comenzilor =
interne nu se creaza un nou proces. Pentru operatorul & sunt 3 cazuri
    In cazul in care apare o comanda interna si o alta comanda externa, =
aceasta ar trebui executata dupa ce se porneste procesul pentru comanda =
externa pentru a simula paralelismul.
    In cazul in care apar doua comenzi interne atunci una dintre ele va =
fi considerata externa si executata in paralel. ( Trebuie sa specifici =
clar in README ce comportament ai ales). Ar fi frumos sa implementezi cd =
si extern pentru a-l putea
    executa in acest caz.=20
    Cazul in care ambele comenzi sunt externe e banal.

  George

  Radu Lazarescu <radul@go.ro> wrote:
        Pt platforma Windows

        Avand in vedere diferentele intre mecanismele de creare a =
proceselor intre cele doua platforme, cum se realizeaza executia =
comenzilor interne (in cazul temei 'cd') pt Windows ? Probleme apar in =
cazul in care se specifica executia in PARALEL cu alte comenzi (interne =
sau externe) ? Se folosesc threaduri ? Daca nu, se poate considera ca in =
cazul unei linii de comanda 'cd <cale> & <comanda>' schimbarea =
directorului curent sa se faca DUPA executia comenzii <comanda>? Ce ar =
trebui se intample in cazul 'cd <o_cale> & cd <alta_cale>' ? Ce ne facem =
cu nedeterminismul ?


-------------------------------------------------------------------------=
-----
  Do you Yahoo!?
  The New Yahoo! Shopping - with improved product search

------=_NextPart_000_0016_01C39BAF.B039DCB0
Content-Type: text/html;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Diso-8859-1">
<META content=3D"MSHTML 6.00.2600.0" name=3DGENERATOR></HEAD>
<BODY bgColor=3D#ffffff>
<DIV><FONT face=3DArial size=3D2>&nbsp;&nbsp;&nbsp; Legat de comanda cd =
si=20
paralelism :&nbsp;din cate am vazut cd nu poate fi implementat intr-un =
proces=20
separat deoarece in acest caz s-ar schimba directorul curent pentru acel =
proces=20
si nu pentru procesul parinte, iar ideea e ca directorul curent&nbsp;sa=20
fie&nbsp;schimbat&nbsp;pentru procesul parinte. Deci nu merge nici sa =
fac chdir=20
dupa fork (in varianta linux), nici sa implementez un cd extern (in =
varianta=20
windows), schimbarea directorului trebuie facuta in procesul =
parinte.&nbsp;Asa=20
ca as vrea sa stiu, in cazul in care apare comanda cd impreuna cu =
operatorul=20
'&amp;' ce se face? Sau daca apar 2 comenzi cd separate de '&amp;'=20
?</FONT></DIV>
<BLOCKQUOTE=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
  <DIV style=3D"FONT: 10pt arial">----- Original Message ----- </DIV>
  <DIV=20
  style=3D"BACKGROUND: #e4e4e4; FONT: 10pt arial; font-color: =
black"><B>From:</B>=20
  <A title=3Dcdangeorge@yahoo.com =
href=3D"mailto:cdangeorge@yahoo.com">George=20
  Ciobanu</A> </DIV>
  <DIV style=3D"FONT: 10pt arial"><B>To:</B> <A =
title=3Dso@atlantis.cs.pub.ro=20
  href=3D"mailto:so@atlantis.cs.pub.ro">so@atlantis.cs.pub.ro</A> </DIV>
  <DIV style=3D"FONT: 10pt arial"><B>Sent:</B> Saturday, October 25, =
2003 6:24=20
  PM</DIV>
  <DIV style=3D"FONT: 10pt arial"><B>Subject:</B> Re: [so] Q: comenzi=20
interne</DIV>
  <DIV><BR></DIV>
  <DIV>Salut,</DIV>
  <DIV>&nbsp;</DIV>
  <DIV>O comanda interna este executata direct de catre interpretorul de =
comenzi=20
  scris de tine. Acest lucru inseamna ca pt executia comenzilor interne =
nu se=20
  creaza un nou proces. Pentru operatorul <STRONG>&amp;</STRONG> sunt 3=20
  cazuri</DIV>
  <BLOCKQUOTE dir=3Dltr style=3D"MARGIN-RIGHT: 0px">
    <DIV>In cazul in care apare&nbsp;o&nbsp;comanda interna&nbsp;si o =
alta=20
    comanda externa,&nbsp;aceasta ar trebui executata dupa ce se =
porneste=20
    procesul pentru comanda externa pentru a simula paralelismul.</DIV>
    <DIV>In cazul in care apar doua comenzi interne atunci una dintre =
ele va fi=20
    considerata externa si executata in paralel. ( Trebuie sa specifici =
clar in=20
    README ce comportament ai ales). Ar fi frumos sa implementezi cd si =
extern=20
    pentru a-l putea</DIV>
    <DIV>executa in acest caz. </DIV>
    <DIV>Cazul in care ambele comenzi sunt externe e banal.</DIV>
    <DIV>&nbsp;</DIV></BLOCKQUOTE>
  <DIV dir=3Dltr>George<BR><BR><B><I>Radu Lazarescu =
&lt;radul@go.ro&gt;</I></B>=20
  wrote:</DIV>
  <BLOCKQUOTE class=3Dreplbq=20
  style=3D"PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #1010ff 2px =
solid">
    <META content=3D"MSHTML 6.00.2800.1106" name=3DGENERATOR>
    <STYLE></STYLE>

    <DIV><FONT face=3DArial size=3D2>&nbsp;&nbsp;&nbsp; P<FONT =
face=3DArial size=3D2>t=20
    platforma Windows</FONT></FONT></DIV>
    <DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
    <DIV><FONT face=3DArial size=3D2><FONT face=3DArial =
size=3D2>&nbsp;&nbsp;&nbsp;=20
    Avand in vedere diferentele intre mecanismele de creare a proceselor =
intre=20
    cele doua platforme, cum se&nbsp;realizeaza executia comenzilor=20
    </FONT></FONT><FONT face=3DArial size=3D2>interne (in cazul temei =
'cd')&nbsp;pt=20
    Windows ? Probleme apar&nbsp;</FONT><FONT face=3DArial size=3D2>in =
cazul in care=20
    se specifica executia in PARALEL cu alte comenzi (interne sau =
externe) ?=20
    Se&nbsp;folosesc&nbsp;threaduri&nbsp;? Daca nu, se =
poate&nbsp;considera ca=20
    in cazul unei linii de comanda 'cd &lt;cale&gt; &amp; =
&lt;comanda&gt;'=20
    schimbarea directorului curent sa se faca&nbsp;DUPA executia =
comenzii=20
    &lt;comanda&gt;? Ce&nbsp;ar trebui se intample</FONT><FONT =
face=3DArial=20
    size=3D2>&nbsp;in cazul 'cd &lt;o_cale&gt; &amp; cd =
&lt;alta_cale&gt;' ? Ce ne=20
    facem cu nedeterminismul ?</FONT></DIV></BLOCKQUOTE>
  <P>
  <HR SIZE=3D1>
  Do you Yahoo!?<BR><A=20
  =
href=3D"http://shopping.yahoo.com/?__yltc=3Ds%3A150000443%2Cd%3A22708228%=
2Cslk%3Atext%2Csec%3Amail">The=20
  New Yahoo! Shopping</A> - with improved product=20
search</BLOCKQUOTE></BODY></HTML>

------=_NextPart_000_0016_01C39BAF.B039DCB0--