|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 | |
|
Senior Member
Iscritto dal: Jul 2007
Città: Cassano M.go (Va)
Messaggi: 631
|
[C] Esercizio Sistemi Operativi: qualcuno sa dirmi se lo svolto correttamente?
Testo del progetto
Quote:
Codice:
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
#include <sys/types.h>
#include <sys/wait.h>
void fail(char *message) {
perror(message);
exit(1);
}
int main() {
int fd[2];
if (-1 == pipe(fd))
fail("pipe");
if (0 == fork()) {
close(0);
close(1);
if (0 != open("/etc/passwd", O_RDONLY))
fail("open passwd");
if (1 != dup(fd[1]))
fail("dup left");
close(fd[0]);
close(fd[1]);
execlp("cat", "cat", NULL);
fail("exec cat");
} else {
close(0);
close(2);
if (0 != dup(fd[0]))
fail("dup right");
if (2 != open("/tmp/foo", O_WRONLY | O_APPEND | O_CREAT, 0600))
fail("open foo");
close(fd[0]);
close(fd[1]);
execlp("grep", "grep", "-H", "root", NULL);
fail("exec grep");
}
return 0;
}
__________________
PC: Intel Core i5 4690K @ 3,5 Ghz | VGA Gigabyte GTX 970 G1 Gaming | RAM G Skill Ares 1866 Mhz (2x4GB) | HDD WD Caviar Blue 1TB | SSD Samsung 840 Evo 250GB | MoBo AsRock Z97 Extreme 4 Router: Netgear dg834g v5 Notebook: Asus x53sv: Intel i7 2630qm | Geforce gt630 | RAM 4GB | SSD 250GB Cell: Iphone 8 64GB Black Tablet: Ipad Air 16GB + 4G Grigio siderale |
|
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Jul 2007
Città: Cassano M.go (Va)
Messaggi: 631
|
Nessuno sa darmi una mano?
__________________
PC: Intel Core i5 4690K @ 3,5 Ghz | VGA Gigabyte GTX 970 G1 Gaming | RAM G Skill Ares 1866 Mhz (2x4GB) | HDD WD Caviar Blue 1TB | SSD Samsung 840 Evo 250GB | MoBo AsRock Z97 Extreme 4 Router: Netgear dg834g v5 Notebook: Asus x53sv: Intel i7 2630qm | Geforce gt630 | RAM 4GB | SSD 250GB Cell: Iphone 8 64GB Black Tablet: Ipad Air 16GB + 4G Grigio siderale |
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Sep 2005
Città: pisa
Messaggi: 148
|
Il titolo scrivilo in Italiano.
Il codice indentalo come si deve, così è illegibile.
__________________
Trattative concluse positivamente con: Gomax,topolino2808,clickhere |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Devi usare la fork prima di chiamare la exec. La exec sostituisce l'immagine del processo in esecuzione con quella del processo chiamato, quindi è ovvio che l'esecuzione ti si fermi alla prima exec.
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Jul 2007
Città: Cassano M.go (Va)
Messaggi: 631
|
Ho già provato + volte, ma il codice nn me lo fa indentare, nel senso ke dopo averlo indentato, faccio salva e li continua a caricare e nn va + avanti, quindi nn mi resta ke annullare!!
X il titolo nn so cm fare x correggerlo...
__________________
PC: Intel Core i5 4690K @ 3,5 Ghz | VGA Gigabyte GTX 970 G1 Gaming | RAM G Skill Ares 1866 Mhz (2x4GB) | HDD WD Caviar Blue 1TB | SSD Samsung 840 Evo 250GB | MoBo AsRock Z97 Extreme 4 Router: Netgear dg834g v5 Notebook: Asus x53sv: Intel i7 2630qm | Geforce gt630 | RAM 4GB | SSD 250GB Cell: Iphone 8 64GB Black Tablet: Ipad Air 16GB + 4G Grigio siderale |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Jul 2007
Città: Cassano M.go (Va)
Messaggi: 631
|
Scusami, ma potresti riscrivere il codice in modo corretto? Xkè non ho capito cosa intendi!!
__________________
PC: Intel Core i5 4690K @ 3,5 Ghz | VGA Gigabyte GTX 970 G1 Gaming | RAM G Skill Ares 1866 Mhz (2x4GB) | HDD WD Caviar Blue 1TB | SSD Samsung 840 Evo 250GB | MoBo AsRock Z97 Extreme 4 Router: Netgear dg834g v5 Notebook: Asus x53sv: Intel i7 2630qm | Geforce gt630 | RAM 4GB | SSD 250GB Cell: Iphone 8 64GB Black Tablet: Ipad Air 16GB + 4G Grigio siderale |
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Non posso fartelo io, devi imparare tu. Se non consoci il sistema fork-exec ti mancano cose molto importanti da studiare.
http://www.osix.net/modules/article/?id=641 |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 20:25.



















