fork download
  1. #include <stdio.h>
  2. #include <unistd.h>
  3. #include <stdlib.h>
  4.  
  5. int main(int argc, char *argv[])
  6. {
  7. /*
  8.   TODO: definirajte argumenti vo nizata args koi oznachuvaat izvrshuvanje
  9.   na komandata ls koja se naogja na patekata /bin/ls so argument -l
  10.   */
  11.  
  12. char *args[] = {"ls -l"};//niza so argumenti
  13.  
  14. printf("This program is about to run ls -l\n");
  15.  
  16. // TODO: zamenete go momentalniot proces so ls -l
  17.  
  18. int result = system(args[0]);// povik kon soodvetnata funkcija koja ke go zameni momentalniot proces so ls -l
  19.  
  20. if (result == -1)
  21. {
  22. printf("Error in replacing process", stderr);
  23. exit(1);
  24. }
  25.  
  26. /*
  27.   programata my_program ja sodrzhi samo naredbata
  28.   printf("Hello from my_program\n");
  29.   */
  30.  
  31. char *args_new[] = {"my_program", NULL};
  32. result = execv(args_new[0], args_new);
  33. printf("%d", result);
  34.  
  35. printf("Hello from main\n");
  36.  
  37. return 0;
  38. }
Success #stdin #stdout 0.01s 5532KB
stdin
opendir()
close
a

stdout
total 16
-rwxr-xr-x 1 root root 14312 Mar 26 17:51 prog
This program is about to run ls -l
-1Hello from main