Задать вопрос
Nightmare1
@Nightmare1
Программист

Возможно ли создать независимый процесс по закрытию основной программы?

Существует ли способ по закрытию основной программы запустить процесс из программы?* system("sleep 5 && echo 'test' > tyemp.txt") не сработал. Вроде как.

Можно, допустим запустить python скрипт, но как известно экземпляр интерпретатора будет закрыт по выходу из уровня запуска процедуры или по окончанию работы программы.
  • Вопрос задан
  • 135 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 2
CityCat4
@CityCat4 Куратор тега C
//COPY01 EXEC PGM=IEBGENER
Форкнуться, родителя завершить, в потомке загрузить что надо через exec().

man fork
man exec
Ответ написан
@rPman
В си решение будет зависеть от выбора платформы, под которую разрабатываешь, для win32 gui вполне возможно что тебе хватит отлавливать закрытие окна на событии WM_CLOSE в твоем главном цикле обработки событий окна, а для posix это регистрация колбек с помощью signal на тип события SIGTERM (там можно и на другие события повеситься, даже к примеру на принудительное завершение ядром процесса по исчерпанию лимита оперативной памяти)...

Первая же ссылка в гугле по запросу: c++ exit current process callback, направление поиска указано в вопросе. Не все виды завершения работы процесса могут быть отловлены самим процессом, в частности у вопрошающего проблема с консольным приложением в windows... возможно если порыть msdn можно будет найти еще какое решение.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы