работающей, как демон?
Если надо было одно приложение запустить, то я просто звал
std:: system ("/usr/bin/my_app");
, но в случае, когда надо было несколько разных запустить, возникала проблема, что пока приложение не выходило/падало, код висел на этой строчке с запуском, тогда я попробовал сначала вызывать
fork()
, и используя ветвление на основе знака пида, запускать приложения своё в своей копии процесса-демона, но сходу особо ничего не вышло
В целом я хочу получить процесс-демон, который при запуске запускает несколько приложений, регулярно проверяет их наличие и в случае падения или закрытия одного из них, всё оставшиеся стопит и заново всё запускает, либо перезапускает всё по сигналу -- и вот с запуском приложений что-то не удалось сладить.
Стоит ли в данном случае заводить несколько потоков и в каждом своё приложение запускать, или лучше обойтись
fork()
и несколькими процессами?
Да, если что, в многопоточке я что-то ещё знаю, но с системным программированием вообще не сталкивался до сих пор
Посмотри на какой-нибудь boost.process, например
используешь fork используй и exec, а system выкинь тогда
в линуксе мне нравится очень юзать popen =)
Обсуждают сегодня