Delay při výstupu

Delay při výstupu
« kdy: 31. 08. 2020, 11:58:08 »
Ahoj všem, prosím o zřejmě základní radu, nenapadá mě, jak si s tím poradit.

Mám příkaz:
Kód: [Vybrat]
openssl s_client -connect domena.example:443 2>/dev/null |  openssl x509 -noout -modulus | openssl md5 | grep stdin
Problém je, že tento příkaz zablokuje CLI, jako kdyby čekal na vstup, ale nečeká. Pomůže stisknutí např. klávesy [ENTER], což zpracování odmrzne a výsledek se vypíše ihned. Bez stisknutí klávesy [ENTER], se na vápis výstupu čeká až několik minut.

Jak příkaz formulovat správně, aby nedocházelo ke zbytečnému delay?

Děkuji za tipy.


Re:Delay při výstupu
« Odpověď #1 kdy: 31. 08. 2020, 12:33:39 »
Čeho se snažíte dosáhnout?

Re:Delay při výstupu
« Odpověď #2 kdy: 31. 08. 2020, 12:52:19 »
Cíl: Toho, aby se stdin vypsal ihned a uvolnil CLI pro zadání dalšího příkazu.

Kód: [Vybrat]
[scientific@centos~]$ openssl s_client -connect google.com:443 2>/dev/null |  openssl x509 -noout -modulus | openssl md5 | grep stdin
(stdin)= 70f9111e743df2adac0035ca477b12ae
[scientific@centos~]$ # můžu hned zadat další příkaz


Realita: stdin se sice vypíše hned, ale nadále zbytečně blokuje CLI, i když je příkaz již dokonán.

Kód: [Vybrat]
[scientific@centos~]$ openssl s_client -connect google.com:443 2>/dev/null |  openssl x509 -noout -modulus | openssl md5 | grep stdin
(stdin)= 70f9111e743df2adac0035ca477b12ae

#cekám a čekám, z nudy zkouším párkrát stisknout enter


^C   # ctrl + c, už mě nebaví čekat na nic, protože vše co jsem chtěl vědět (stdin), už znám, nechce se mi čekat, než mi to umožní pokračovat v práci
[scientific@centos~]$

Re:Delay při výstupu
« Odpověď #3 kdy: 31. 08. 2020, 12:54:25 »
To mi pořád nevysvětluje, jaké podivnosti se tou zvláštní pajpou snažíte dosáhnout. Protože podle mě nemůže fungovat a nepodařilo se mi odhadnout, co je cílem.

tecka

Re:Delay při výstupu
« Odpověď #4 kdy: 31. 08. 2020, 13:18:08 »
Kód: [Vybrat]
echo | openssl ...


RDa

  • *****
  • 989
    • Zobrazit profil
    • E-mail
Re:Delay při výstupu
« Odpověď #5 kdy: 31. 08. 2020, 14:08:02 »
Cíl: Toho, aby se stdin vypsal ihned a uvolnil CLI pro zadání dalšího příkazu.

Kód: [Vybrat]
[scientific@centos~]$ openssl s_client -connect google.com:443 2>/dev/null |  openssl x509 -noout -modulus | openssl md5 | grep stdin
(stdin)= 70f9111e743df2adac0035ca477b12ae
[scientific@centos~]$ # můžu hned zadat další příkaz

Soude podle konstrukce, tak ten HTTPS server ocekava HTTP dotaz ... takze spojeni drzi otevrene.
Poslete tam GET, nebo alespon HEAD dotaz, ne?

Re:Delay při výstupu
« Odpověď #6 kdy: 31. 08. 2020, 17:04:58 »
@tecka super díky, perfektní
@RDa díky za vysvětlení příčiny problému. Myslel jsem, že openssl sám ve výchozí podobě používá HEAD.

_Jenda

  • ****
  • 431
    • Zobrazit profil
    • https://jenda.hrach.eu/
    • E-mail
Re:Delay při výstupu
« Odpověď #7 kdy: 31. 08. 2020, 21:29:23 »
@RDa díky za vysvětlení příčiny problému. Myslel jsem, že openssl sám ve výchozí podobě používá HEAD.
To ne, protože openssl je obecný klient a dá se použít úplně stejně třeba pro připojení k POP3s nebo FTPS serveru a co ten jako bude dělat s HTTP HEAD. openssl HTTP vůbec neumí, co se protokolů týče, tak umí protokolové STARTTLS, ale pak pochopitelně taky čeká na další příkazy.