Run Code
|
API
|
Code Wall
|
Misc
|
Feedback
|
Login
|
Theme
|
Privacy
|
Patreon
lab17feb22x4B.cpp
//g++ 7.4.0 #include <iostream> #include <sys/types.h> #include <unistd.h> #include <stdio.h> #include <stdlib.h> #include <errno.h> /* perror */ #include <sys/stat.h> /*open */ #include <fcntl.h> /*open*/ #include <string.h> /*strlen*/ using namespace std; int main() { int pid; int fd, pid_processo; int nread,nwrite,status; char st1[256]; /*Stringa lunga 256 caratteri*/ char st2[256]; /*Stringa lunga 256 caratteri*/ char fname[]="prova17feb22.txt"; fprintf(stdout,"Uso: %s nomefile\n",fname); /* Apertura del file in lettura e scrittura */ if ((fd=open(fnamw, O_RDWR | O_CREAT, S_IRUSR | S_IWUSR))<0) { perror("opening argv[1]"); exit(1); } int valore = 0; printf("Unico processo con (PID: %d).\n",getpid()); pid = fork(); /*Esecuzione fork*/ if (pid == 0) {/* codice eseguito dal figlio */ printf("Sono il figlio con (PID : %d).\nil processo ( PID: %d) mi ha generato\n",getpid(),getppid()); printf( "figlio [pid: %d]>>>> valore iniziale= %d\n", getpid(), valore ); valore += 15; printf( "figlio [pid: %d]>>>>> valore finale= %d\n", getpid(), valore); } else if (pid > 0) {/* codice eseguito dal padre */ printf("Sono il padre con (PID: %d). con un proc. figlio (PID: %d)\n",getpid(),pid); printf( "padre [pid: %d]>>>>> valore iniziale= %d\n", getpid(), valore ); valore += 10; printf( "padre [pid: %d]> valore finale= %d\n", getpid(), valore); } else {/* codice eseguito dal padre in caso di errore */ printf("padre [pid: %d]> problemi durante creazione del figlio.\n",getpid()); printf("Si e' verificato un errore nella chiamata a fork.\n"); exit(1); } exit(0); }
run
|
edit
|
history
|
help
0
graph representation Adjacency List
TemplateRemove
Meeting_Leandro
Updated Linked Lists - 5/10/2017 V3.0
memcpy
Cyclically rotate an array by one
12535
Generating π from 1,000 random numbers
inorder traversal
NameTempSpecial2