@DVoropaev
Ставлю + к карме на хабре за ответы на вопросы

Как в linux получить доступ к потокам ввода-вывода демона?

Моя программа имеет такую структуру:
def UserInterface():
    while(True):
        print("hello")
        tmp = input()
        ...

def payload():
    while(True):
        #Something code

def main():
    Thread(target=UserInterface, args=()).start()
    Thread(target=payload, args=()).start()

Тут есть два потока, работающих в бесконечном цикле. Первый поток - текстовый интерфейс, через который можно получать команды от пользователя и выводить ему информацию. Второй поток - "полезная нагрузка".
Я запускаю программу командой из терминала, и все хорошо. Но я хочу запускать свою программу как демон через systemd. Если я так сделаю, то как можно получить возможность взаимодействовать с программой?
  • Вопрос задан
  • 245 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Karpion
Нормальный демон не работает через stdin/stdout/stderr. Вам надо смотреть в сторону named pipe или unix socket - это такие спец.файлы. А в идеале - надо взаимодействовать через TCP, чтобы можно было цепляться туда программой telnet (но лучше - с шифрованием, через ssh).
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы