Jump to content
codsursa

Problema linux . Help please .

Recommended Posts

Posted

Am si eu o problema de rezolvat insa nu ma prea pricep , daca m-ar ajuta cineva as fi foarte recunoscator . Cateva idei acolo macar .

Proiectati si implementati urmatorul protocol de comunicare intre procese:

comunicarea se face prin executia de comenzi citite de la tastatura in procesul tata si executate in procesele fiu

comenzile sunt siruri de caractere delimitate de new line

raspunsurile sunt siruri de octeti prefixate de lungimea raspunsului

protocolul minimal cuprinde comenzile:

login: username (a carei existenta este validata prin utilizarea unui fisier de configurare)

grep pattern nume_fisier

Rezultatul obtinut in urma executiei acestei comenzi este sumarizat de procesul(procesele fiu), in observatii de tipul: Nr de linii relevante este X. Acest rezultat va fi afisat de procesul tata.

ls

quit

Comunicarea intre procese se va face pe baza unui mecanism de comunicare cunoscut.

Posted (edited)

Deci ai dou? variante simple:

1. pipe-uri

2. fork

?tii cu vreuna din ele sau tu de fapt vrei rezolvarea?

L.E.

Ce fel de comenzi sunt acelea? Comenzi Unix sau comenzi predefinite de tine de genul: sari_în_sus, d?_mi_o_acadea?

Edited by vexyro
Posted (edited)

int main ()
{
pid_t pid;
int status;
pid = fork ();
printf ("se executa ..\n");

if (pid < 0)
{
perror ("eroare la fork");
exit (1);
}
else if (pid)
{
if (wait (&status) < 0)
{
perror ("wait()");
}
printf ("Comanda a fost executata.\n");
exit (0);
}
else
{
execlp ("ls",
/* comanda de executat (se va cauta in direc$
"ls",
"-a",
"-l",
NULL);
printf ("Eroare de executie!\n");
exit (1);
}
}

pt comanda ls ar fi bun codu asta ..de rulat ruleaza si imi afiseaza fisierele

Edited by MrRip
Posted (edited)

1. NU mai face double posting [1]

2. Asta este tem? iar tu ne ceri de fapt s? ?i-o rezolv?m. Problema în sine nu e grea. E doar muncitoreasc? ?i nu ?tiu câ?i au r?bdare s? ?i-o rezolve, ori s? ?i-o înceap?.

3. Tema este aici [2] iar exemplu sunt multe la fiecare laborator/curs.

4. Încearc? mai întâi varianta cu pipe-uri anonime ca s? în?elegi cum st? treaba cu IPC [3] apoi treci la pipe-uri cu nume, cum este explicat aici [4]

5. Poti s? arunci ?i un ochi peste fork() [5]

6. S-a mai discutat despre subiectul ?sta pe aici [6].

[1]: Internet forum - Wikipedia, the free encyclopedia

[2]: Cursul&Laboratorul -

[3]: Inter-process communication - Wikipedia, the free encyclopedia

[4]: http://profs.info.uaic.ro/~adria/teach/courses/net/files/NetEx/S3/who_wc.c

[5]: Fork (operating system) - Wikipedia, the free encyclopedia

[6]: https://rstcenter.com/forum/27077-programare-linux.rst

Edited by vexyro

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...