Zobrazit příspěvky

Tato sekce Vám umožňuje zobrazit všechny příspěvky tohoto uživatele. Prosím uvědomte si, že můžete vidět příspěvky pouze z oblastí Vám přístupných.


Témata - Tomáš Crhonek

Stran: [1]
1
Software / systemd: FIFO socket jako stdin bez socket activation
« kdy: 26. 07. 2016, 09:58:02 »
systemd umí socket activation a umí předat socket jako stdin daného procesu.

sluzba.service:

Kód: [Vybrat]
[Service]
ExecStart=...
StandardInput=socket

sluzba.socket:
Kód: [Vybrat]
[Socket]
ListenFIFO=/path-to-socket

Tohle funguje a lze předávat data danému procesu na stdin přes daný socket.

Lze (a tady začíná můj dotaz) předat socket na stdin BEZ socket activation?

Jedná se mi o to, že existují programy, které se dají řídit jen přes sekvence v terminálu. Dosud se to řeší přes screen / tmux a send-keys funkce těchto terminal multiplexorů. Což se zase dost špatně řídí jako služba (to by ani tak nevadilo), ale hlavně výstup z daného procesu (stdout a stderr) končí v nenávratnu (zatímco při spuštění systemd se výstupy logují).

Výše uvedené řešení funguje, funguje dobře, ale není příliš vtipné, když se do socketu pošle echo "stop" > sluzba.socket, ona se nastartuje (socket activation) a v momentě, kdy si proces přečte stdin, tak se opět ukončí.
 
Je tedy nějaká možnost, jak tomu předat fifo socket jako stdin bez aktivace?

Stran: [1]