|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Oct 1999
Città: Milano
Messaggi: 531
|
programmazione multiprocessing in C (unix,fork ect)
ragazzi ho un problema grandissimo!!
sto seguendo sistemi operativi all università, vorrei studiare pure ed esercitarmi sulle fork, processi padri processi figli........boh.......diciamo che in linea teorica ho capito, solo che in pratica non mi funziona niente!! prova a utilizzare fork sotto windows e non riesco neanche a compilare ( [Linker error] undefined reference to `fork' , uno dei tanti) vado sotto unix (linux red hat) ed è peggio ancora......ma c è qualche metodo particolare per compilare in C? prima con il turbo pascal facevo compile e poi run e tutto funzionava!! neanche a dire che è sbagliato il codice perchè copio ed incollo codici già fatti!!! ma che devo fare? qualcuno mi potrebbe spiegare passo passo una compilazione e basta!? grazie anticipate!
__________________
Vintage signature: Abit nf7-s, Xp 2500+@2300mhz, 256 mb 418mhz cas2, geforce fx5700,S-ATA 160 Maxtor,Lg gsa 4120b...prima..ma ora..DELL INSPIRON 6400, ATI X1300... |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Sotto Windows non c'è la fork (a meno di compilare sotto certi "emulatori" di sistemi Unix)...
Sotto Linux che problemi hai ? |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Oct 1999
Città: Milano
Messaggi: 531
|
sotto linux escono molti errori tipo "fork non dichiarata" e altri.......
ma per compilare e poi far partire il progammino, devo salvarlo come .c da qualsiasi editor e poi da terminale utilizzo cc o gcc con il nome del file?.....o no? possibile che non riesco a trovare una guida che mi spieghi come fare??? ma posso scrivere anche direttamente da terminale il codice? che casino scusami per il disturbo!
__________________
Vintage signature: Abit nf7-s, Xp 2500+@2300mhz, 256 mb 418mhz cas2, geforce fx5700,S-ATA 160 Maxtor,Lg gsa 4120b...prima..ma ora..DELL INSPIRON 6400, ATI X1300... |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Jun 2002
Città: Milano
Messaggi: 959
|
per compilare con gcc si fa così di solito..
gcc –o nomefilecompilato filesorgente.c ciao |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
|
Per utilizzare le funzioni come la fork, o la signal, o la wait, devi includere i relativi header.
Ad esempio: Codice:
/* USO DELLA EXEC: exec-copy.c */
#include<stdio.h>
#include<sys/types.h>
#include<sys/wait.h>
#include<signal.h>
main(argc,argv)
int argc;
char *argv[];
{
int i,n,w;
n = fork();
if (n == -1)
{
fprintf(stderr,"fork fallita\n");
fflush(stdout);
exit(1);
}
else if ( n == 0) /* processo figlio */
{
printf("So er figlio e` %d\n",getpid());
printf("(figlio) ora aspetto 3 secondi e poi invio una signal a papà %d\n",getppid());
fflush(stdout);
for (i=0; i<3; i++)
{
system("sleep 1");
printf(".\n");
}
execl("/usr/bin/cp","/usr/bin/cp",argv[1],argv[2],0);
kill(getppid(),SIGKILL);
printf("(figlio) ho finito e muoio\n");
exit(0);
}
else /* processo padre */
{
signal(SIGKILL,SIG_DFL);
printf("il mio numero (padre) e` %d\n",getpid());
printf("(padre) ora incomincio le mie operazioni\n");
for (i = 0; i < 6; i++)
{
system("sleep 1");
printf("*\n");
}
printf("(padre) ora muoio anch'io\n");
exit(0);
}
}
Un buon link per l'IPC (Inter-Process-Comunication): http://www.lilik.it/~mirko/gapil/gap...tml#x69-450003 |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Oct 1999
Città: Milano
Messaggi: 531
|
ragazzi grazie per l aiuto finalmente sono riuscito a compilare...il problema è che non mettevo l header types.h e quindi non mi riconosceva il tipo pid!
cmq cavoli ma siete informatici? come fate a sapere tutte queste cose? non mi dite che siete autodidatti............!!!!
__________________
Vintage signature: Abit nf7-s, Xp 2500+@2300mhz, 256 mb 418mhz cas2, geforce fx5700,S-ATA 160 Maxtor,Lg gsa 4120b...prima..ma ora..DELL INSPIRON 6400, ATI X1300... |
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
|
Personalmente mi sto interessando seriamente del C e dell 'IPC da poco, ma son queste le cose che ti faranno diventare un vero informatico
|
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Oct 1999
Città: Milano
Messaggi: 531
|
ma mica sai come rendere visibili le altre partizioni su linux...ho la red hat 9.0 e non mi vede nessun altra partizione, presumo si debba montare......ma come? addirittura col cd di knoppix le monta automaticamente!!! qui no!
il problema è che ho tutto il materiale di appunti ect su win98 e ogni volta per vedere qualcosa devo riavviare.......mica mi potreste spiegare come faccio per vedere ciò che ho sul 98? ma per quanto riguarda l emulatore, posso utilizzare tutto ciò che unix offre? quindi librerie editor ect?
__________________
Vintage signature: Abit nf7-s, Xp 2500+@2300mhz, 256 mb 418mhz cas2, geforce fx5700,S-ATA 160 Maxtor,Lg gsa 4120b...prima..ma ora..DELL INSPIRON 6400, ATI X1300... |
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
|
Dovrai editare il file /etc/fstab...ma questo è meglio che lo chiedi nella sezione Linux...
Knoppix è una distro, ovvero una raccolta di programmi...ovviamente il tutto è limitato dalla dimensione fisica di un cd, ma a dirti il vero io non ho trovato nulla che mancasse per un uso home-scolastico, compreso OpenOffice |
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: Apr 2002
Città: Palermo
Messaggi: 4913
|
Sotto windows devi usare funzioni tipo CreateProcess o simili, puoi trovare qualche info con win32 sdk...
Se qualcuno di voi ha qualche buon link sulla programmazione dei thread lo posti per favore. Ciao
__________________
Sun Certified Java Programmer - Sun Certified Web Component Developer - Sun Certified Business Component Developer |
|
|
|
|
|
#11 |
|
Senior Member
Iscritto dal: Apr 2002
Città: Vigevano(PV)
Messaggi: 2124
|
__________________
Gnu/Linux User
|
|
|
|
|
|
#12 |
|
Senior Member
Iscritto dal: Apr 2002
Città: Palermo
Messaggi: 4913
|
grazie, cmq avevo detto sotto windows
__________________
Sun Certified Java Programmer - Sun Certified Web Component Developer - Sun Certified Business Component Developer |
|
|
|
|
|
#13 | |
|
Senior Member
Iscritto dal: Apr 2002
Città: Vigevano(PV)
Messaggi: 2124
|
Quote:
__________________
Gnu/Linux User
|
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 15:51.



















