Daca functioneaza execve-ul nici nu se mai pune problema.
Daca nu functioneaza execve-ul pui message box-ul unde e printf("Eroare
exec"); sau pui unde e printf ("Eroare fork"); (de fapt perror ar fi mai
potrivit)
sp00ky
On Monday 24 June 2002 06:27 pm, Serghei Amelian wrote:
> On Monday 24 June 2002 05:27 pm, Dorin Lazar wrote:
> > daca vrei sa rulezi un "ls -la" se poate in doua feluri
> > 1) system
> > if (system("ls -la"))
> > printf("comanda a eshuat\n");
> > else
> > printf("succes");
> >
> > 2) varianta 'grea'
> > extern char **environ;
> > int status;
> > int PID = fork();
> > if (PID>0) {
> > char **comanda = malloc (sizeof(char*)*3);
> > comanda[0] = "ls";
> > comanda[1] = "-la";
> > comanda[2] = NULL;
> > execve ("/bin/ls", comanda, environ);
> > printf ("Eroare exec");
> > exit(1);
> > }
> > else
> > if (PID<0) {
> > printf ("eroare fork");
> > exit(1);
> > }
> > wait(&status);
>
> Am testat varianta "grea" si functioneaza bine atunci cand totul e OK. Dar
> eu lucrez la o aplicatie cu interfata grafica, si comanda execve imi
> distruge enviroment-ul, deci nu mai pot sa afisez un messagebox care sa-l
> avertizeze pe user ca e ceva in neregula.
---
Pentru dezabonare, trimiteti mail la
[EMAIL PROTECTED] cu subiectul 'unsubscribe rlug'.
REGULI, arhive si alte informatii: http://www.lug.ro/mlist/