otherapp.c 1.1 KB

12345678910111213141516171819202122232425262728293031
  1. #include <unistd.h> //для стандартных функций ввода-вывода
  2. #include <stdio.h> //для использования системных функций линукса
  3. #include <sys/wait.h>
  4. #include <stdlib.h>
  5. #define APP_PATH "./a.out" //полный путь к запускаемой программе - здесь относительный путь потому что в 1 папке лежат
  6. int main()
  7. {
  8. /*
  9. на самом деле программа может состоять из одной строки execve, но так повеселее
  10. */
  11. switch (fork())//рождаем детей
  12. {
  13. case -1: //аборт
  14. exit(-1);
  15. case 0: //эксплуатация детского труда
  16. {
  17. execve(APP_PATH, NULL, NULL);//запуск стороннего приложения
  18. exit(0); //заканчиваем дочерний процесс
  19. }
  20. default: //родительская забота
  21. {
  22. wait(NULL); // ждем пока ребенок умрет
  23. // возможно какие-то действия
  24. break;
  25. }
  26. }
  27. return 0;
  28. }