Linux - popen

Ladislav Vaiz spam na nagano.cz
Pátek Srpen 14 09:24:58 CEST 2020


V unixovém duchu by bylo mít ty programy dva.
Misto dočasneho souboru můžete použít pojmenovanou rouru (příkaz nebo 
funkce mkfifo). Budete ale muset řešit po jakých blocích to kouskovat, 
aby nedošlo k blokování.
Nebo kompromis a mít jeden dvouvláknový program, pokud nelze mít dva 
programy.

Samozřejmě lze přesměrovat i více filedeskriptorů a vyhnout se rouře, 
ale ne přes open. Tradiční je otevřít si dvě roury, fork, v potomkovi 
zavřít soubory 0 a 1, zduplikovat deskriptory roury, aby byly na 0 a 1 
(stdin, stdout) a exec. Rodič pak komunikuje přes roury.

Novější způsob (nevím, jak kompatibilní s ne-linuxy) je forkpty.

Poslední dva způsoby pracují s jedním procesem, takže by měly spouštět 
shell, který vyřeší propojení procesů:  sh -c tar|openssl

Není snažší mít ty procesy dva? :-)

L.


Dne 14.08.2020 v 9:05 Jaroslav Buchta napsal(a):
> Zretezit tar a openssl je jasne, ale jde mi o to, ze mam nejake pole v 
> pameti, to chci dat jako vstup a vystup by se mi libilo zase primo 
> precist do pameti a vyhnout se docasnym souborum. Neco jako kdyz se 
> presmeruje zaroven konzolovy vstup i vystup na soubory ale obracene.
> Jen mam dojem, ze to nejde nebo nejakym zpusobem ano?
>
> Dne 14.08.2020 v 8:52 Ladislav Vaiz napsal(a):
>> Ano, program bude číst ze stdin a zapisovat do stdout. Přesměrování 
>> je věc volajícího. Ale myslím si, že k tomu žádný program nebude 
>> třeba, stačí s shellu napsat něco jako tar cz | openssl
>> V C si můžete popen použít vícekrát.
>> L.
>>
>> Dne 14.08.2020 v 8:39 Jaroslav Buchta napsal(a):
>>> Potrebuji zazipovat skrz tar a zasifrovat skrz openssl nejaka data a 
>>> libil by se mi system kde by byl vstup i vystup skrz pipe, jde to 
>>> nejak?
>>>
>>> Zatim mam dojem, ze jde vzdy jen jeden smer, aspon u teto funkce 
>>
>>
>> _______________________________________________
>> HW-list mailing list  -  sponsored by www.HW.cz
>> Hw-list na list.hw.cz
>> http://list.hw.cz/mailman/listinfo/hw-list
>
>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list





Další informace o konferenci Hw-list