LINUX.ORG.RU

С++, как узнать запущена ли программа?

 


0

1

Программа иногда запущена как демон, иногда в другом терминале, иногда в screen. Приходиться руками смотреть в top выполняется ли программа, убивать процесс и запускать заного (или отказаться от запуска).

Как в С++ проверить выполняется ли процесс на linux с именем name?


Ты хочешь написать программу, которая чекает, запущена ли другая программа?

Ну а вообще, гугл выдал вот такую ссылку.

Nibbler ()
Последнее исправление: Nibbler (всего исправлений: 1)

Пускай программа файл лочит. В /var/run/user/$(id -u)/ например. Или прямо в /tmp/ Это самый нормальный способ.

legolegs ★★★★★ ()

можно попробовать организовать коммуникацию процессов через unix domain sockets. если connect не удался, то программа не запущена.

xionovermazes ()

Напиши сервис для systemd или что у тебя там. Там статус и смотри. Их для контроля демонов и придумали. Либо городи лок-файлы, если не осилил.

cocucka ★★★★☆ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.