Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <sys/types.h>
- #include <sys/stat.h>
- #include <sys/wait.h>
- #include <fcntl.h>
- #include <stdio.h>
- #include <unistd.h>
- #include <stdlib.h>
- void main()
- {
- int pid;
- printf("1) prima della fork \n");
- pid = fork();
- printf("2) dopo la fork \n");
- if(pid==0)
- {
- printf("sono il processo figlio e il mio pid e' %d\n", pid);
- exit(1);
- }
- else
- {
- printf("sono il processo padre e il mio pid e' %d\n", pid);
- exit(0);
- }
- }
- #include <sys/types.h>
- #include <sys/stat.h>
- #include <sys/wait.h>
- #include <fcntl.h>
- #include <stdio.h>
- #include <unistd.h>
- #include <stdlib.h>
- void main() {
- pid_t pid;
- printf("1) Prima della fork\n");
- pid = fork();
- printf("2) Dopo della fork\n");
- if (pid==0){
- printf("Ciao io sono Quo e il mio pid e' uguale a %d\n", pid);
- exit(1);
- }
- else {
- pid=fork();
- if (pid==0)
- {
- printf("Ciao io sono Qua e il mio pid e' uguale a %d\n", pid);
- exit(1);
- }
- else {
- printf("Ciao io sono Qui e il mio pid e' uguale a %d\n", pid);
- exit(0);
- }
- }
- }
- #include <sys/types.h>
- #include <sys/stat.h>
- #include <sys/wait.h>
- #include <fcntl.h>
- #include <stdio.h>
- #include <unistd.h>
- #include <stdlib.h>
- main()
- {
- int i;
- pid_t pid;
- pid=fork();
- if(pid>0)
- {
- printf("Padre si riposa\n");
- sleep(10);
- printf("Padre termina\n");
- exit(0);
- }
- else if(pid==0)
- {
- while(getppid()>1)
- {
- printf("Mio padre รจ %d\n",getppid());
- printf("Io sono %d\n",pid);
- sleep(1);
- }
- printf("Ora sono orfano!\n");
- }
- }
- #include <sys/types.h>
- #include <sys/stat.h>
- #include <sys/wait.h>
- #include <fcntl.h>
- #include <stdio.h>
- #include <unistd.h>
- #include <stdlib.h>
- int figlio1();
- int main(){
- int m, x, y, z, retv;
- pid_t pid;
- pid = fork();
- if (pid==0){
- x = figlio1();
- exit(x) ;
- }
- else{
- printf("elab. parallela processo padre\n");
- y = 6-2;
- }
- printf("join: padre aspetta\n");
- wait(&retv);
- m=WEXITSTATUS(retv);
- printf("elab. finale padre\n");
- z=(m+y);
- printf("risultato finale z=%d", z);
- }
- int figlio1(){
- int k;
- printf("elab. parallela processo figlio \n");
- k=3+2;
- return k;
- }
- #include <sys/types.h>
- #include <sys/stat.h>
- #include <sys/wait.h>
- #include <fcntl.h>
- #include <stdio.h>
- #include <unistd.h>
- #include <stdlib.h>
- #define N 10
- int main()
- {
- int i;
- pid_t pid;
- printf("\n");
- for(i=0;i<N;i++)
- {
- pid = fork();
- if(pid==0)
- {
- printf("Sono il Figlio n.%d e il mio PID e\' %d\n",i+1,getpid());
- sleep(2*(i+1));
- return(101+i);
- printf("\n\n");
- }
- }
- for(i=0;i<N;i++)
- {
- int retv;
- wait(&retv);
- printf("\nProcesso n.%d Terminato: %d",i+1,WEXITSTATUS(retv));
- }
- }
Add Comment
Please, Sign In to add comment