Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /////2///////
- #include <stdlib.h>
- #include <stdio.h>
- main()
- {
- int childpid;
- int status=1;
- int zakonczono;
- printf("startuje proces macierzysty pid %d\n",getpid());
- if ((childpid = fork()) == -1)
- {
- perror("nie moge forknac");
- exit(1);
- }
- else
- if (childpid ==0 )
- {
- printf("Proces potomny o pidzie %d z rodzica %d\n",getpid(),getppid());
- }
- else
- {
- printf("Proces macierzysty o pidzie %d i dziecku %d\n",getpid(),childpid);
- }
- exit(0);
- }
- ////////3/////////////////////
- #include <stdio.h>
- #include <stdlib.h>
- int childpid, status;
- int main(){
- printf("Wystartowal proces macierzysty. PID: %d\n",getpid());
- if ((childpid = fork()) == -1){
- perror("nie moge forknac");
- exit(1);
- } else if (childpid == 0){
- sleep(5);
- printf("Proces potomny o pidzie %d z rodzica %d\n",getpid(),getppid());
- } else {
- printf("Proces macierzysty o pidzie %d i dziecku %d\n",getpid(),childpid);
- }
- exit(0);
- }
- ////////////////3_2/////////////////////
- #include <stdio.h>
- #include <stdlib.h>
- int childpid, status;
- int main(){
- printf("Wystartowal proces macierzysty. PID: %d\n",getpid());
- if ((childpid = fork()) == -1){
- perror("nie moge forknac");
- exit(1);
- } else if (childpid == 0){
- printf("Proces potomny o pidzie %d z rodzica %d\n",getpid(),getppid());
- } else {
- sleep(5);
- system("ps -efa");
- printf("Proces macierzysty o pidzie %d i dziecku %d\n",getpid(),childpid);
- }
- exit(0);
- }
- /////////////////////////////4//////////////////////////////
- #include <stdio.h>
- #include <stdlib.h>
- int childpid, status;
- int main(){
- printf("Wystartowal proces macierzysty. PID: %d\n",getpid());
- if ((childpid = fork()) == -1){
- perror("nie moge forknac");
- exit(1);
- } else if (childpid == 0){
- printf("Proces potomny o pidzie %d z rodzica %d\n",getpid(),getppid());
- sleep(3);
- exit(2);
- } else {
- printf("Proces macierzysty o pidzie %d i dziecku %d\n",getpid(),childpid);
- wait(&status);
- printf("Proces potomny sie zakonczyl\n");
- printf("%d\n", status);
- }
- exit(0);
- }
- //////////////////////5//////////////////////////////////////////
- #include <stdio.h>
- #include <stdlib.h>
- int childpid, status, i, parent;
- int main(){
- for(i = 0; i < 5; i++){
- if ((childpid = fork()) == -1){
- perror("nie moge forknac");
- exit(1);
- } else if (childpid == 0){
- printf("Proces potomny o pidzie %d z rodzica %d\n",getpid(),getppid());
- sleep(2);
- exit(1);
- } else {
- printf("Proces macierzysty o pidzie %d i dziecku %d\n",getpid(),childpid);
- wait();
- }
- }
- exit(0);
- }
- ///////////////////6////////////////////////
- #include <stdio.h>
- #include <stdlib.h>
- int childpid, status, i, parent;
- int main(){
- for(i = 0; i < 5; i++){
- if ((childpid = fork()) == -1){
- perror("nie moge forknac");
- exit(1);
- } else if (childpid == 0){
- printf("Proces potomny o pidzie %d z rodzica %d\n",getpid(),getppid());
- if(i == 4) sleep(3);
- else wait();
- } else {
- printf("Proces macierzysty o pidzie %d i dziecku %d\n",getpid(),childpid);
- wait();
- exit(1);
- }
- }
- exit(0);
- }
- /////////////////////////////7///////////////////////////////
- #include <stdio.h>
- #include <stdlib.h>
- #include <signal.h>
- int childpid, status, i, parent;
- void sigchldhandler(int nr){
- printf("Potomek sie zakonczyl\n");
- }
- int main(){
- signal(SIGCHLD, sigchldhandler);
- for(i = 0; i < 5; i++){
- if ((childpid = fork()) == -1){
- perror("nie moge forknac");
- exit(1);
- } else if (childpid == 0){
- printf("Proces potomny o pidzie %d z rodzica %d\n",getpid(),getppid());
- exit(1);
- } else {
- printf("Proces macierzysty o pidzie %d i dziecku %d\n",getpid(),childpid);
- }
- }
- exit(0);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement