12345678910111213141516171819202122232425262728293031 |
- #include <unistd.h> //для стандартных функций ввода-вывода
- #include <stdio.h> //для использования системных функций линукса
- #include <sys/wait.h>
- #include <stdlib.h>
- #define APP_PATH "./a.out" //полный путь к запускаемой программе - здесь относительный путь потому что в 1 папке лежат
- int main()
- {
- /*
- на самом деле программа может состоять из одной строки execve, но так повеселее
- */
- switch (fork())//рождаем детей
- {
- case -1: //аборт
- exit(-1);
- case 0: //эксплуатация детского труда
- {
- execve(APP_PATH, NULL, NULL);//запуск стороннего приложения
- exit(0); //заканчиваем дочерний процесс
- }
- default: //родительская забота
- {
- wait(NULL); // ждем пока ребенок умрет
- // возможно какие-то действия
- break;
- }
- }
- return 0;
- }
|