[so] [Tema1 - SO] Folosire bash pentru rularea comenzilor [Was: Re: intrebare SO]
Daniel Baluta
daniel.baluta at gmail.com
Mon Mar 7 16:31:18 EET 2011
Salut Adrian,
Trimite te rog de acum înainte întrebările referitoare la teme
și pe lista de discuții ([1]).
2011/3/7 Lungu Adrian <lungu_a_ro at yahoo.com>
>
> Salut. Am si eu o noua intrebare ... legat de tema 1 SO (nu prima , adica 0) .. ce functii din familia exec avem voie folosi (if any) ? parca citisem undeva ceva de o functie fcntl sau cam asa , care le facea redundante pe cele exec.. eu am lucrat la tema folosind
Poti folosi orice funcție din familia execv ([1]) atâta timp cât îți
îndeplinește scopul
și respectă condițiile din enunț.
> const char *argv[] = {"/bin/bash", "-c", command, NULL};
> execv("/bin/bash", (char *const *)argv);
Nu e corect și nici eficient să folosești shell-ul bash pentru a-ți
rula ție comenzile.
Tu trebuie să simulezi ce face shell-ul folosind fork + execv.
Ce se întâmplă pe un sistem care nu are bash instalat? :)
>
>
> pentru comenzile simple ...
> si acum vad la FAQ ca nu am voie ... also, putem folosi fgets ca
> sa citim comanda de la stdin ?
Poți folosi fgets.
> n-ar fi o problema prea mare sa o
> inlocui cu o alta functie din aceeasi familie (gen execp) , dar
> mi-e frica sa nu fiu nevoit sa restructurez (radical) codul
> pentru a lucra cu o functie "foarte" diferita...
thanks,
Daniel.
[1] http://elf.cs.pub.ro/so/wiki/resurse/lista-discutii
More information about the so
mailing list