abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 14:11 | Komunita

    Richard Hughes oznámil, že službu Linux Vendor Firmware Service (LVFS) umožňující aktualizovat firmware zařízení na počítačích s Linuxem, nově sponzoruje také společnost HP.

    Ladislav Hagara | Komentářů: 3
    včera 13:33 | IT novinky

    O víkendu proběhla demopárty Outline 2026. Publikována byla prezentovaná dema. Upozornit lze na 16 bajtové, opravdu šestnáct bajtové, zvukově obrazové demo Wake Up! 16b (YouTube).

    Ladislav Hagara | Komentářů: 2
    včera 04:22 | Nová verze

    Byla vydána nová verze 9.5 multiplatformní digitální pracovní stanice pro práci s audiem (DAW) Ardour. Přehled novinek, vylepšení a oprav v poznámkách k vydání a na YouTube.

    Ladislav Hagara | Komentářů: 0
    19.5. 21:00 | IT novinky

    Dnes a zítra probíhá vývojářská konference Google I/O 2026. Sledovat lze na YouTube a na síti 𝕏 (#GoogleIO).

    Ladislav Hagara | Komentářů: 0
    19.5. 19:00 | Nová verze

    Canonical vydal Ubuntu Core 26. Vychází z Ubuntu 26.04 LTS a podporováno bude 15 let. Ubuntu Core je minimální neměnný operační systém určený pro vestavěné systémy.

    Ladislav Hagara | Komentářů: 0
    19.5. 16:22 | Nová verze

    Bylo vydáno OpenBSD 7.9. Po dlouhé době opět se songem: Diamond in the Rough.

    Ladislav Hagara | Komentářů: 0
    19.5. 16:00 | Nová verze

    Byl vydán Mozilla Firefox 151.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 151 bude brzy k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    19.5. 12:22 | IT novinky

    Elon Musk prohrál soudní spor se společností OpenAI, která se podle jeho žaloby odchýlila od původně uváděného cíle vyvíjet umělou inteligenci (AI) ku prospěchu lidstva. Porota včera po necelých dvou hodinách dospěla k jednomyslnému závěru, že Musk žalobu podal příliš pozdě. Musk byl jedním ze spoluzakladatelů společnosti OpenAI, která vznikla v roce 2015 a vyvinula populární chatovací systém ChatGPT. V roce 2018 na svůj post ve vedení

    … více »
    Ladislav Hagara | Komentářů: 0
    19.5. 10:22 | Nová verze

    Byla vydána nová verze 10.4 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Přehled novinek v poznámkách k vydání. Opraveny jsou zranitelnosti Copy Fail a Dirty Frag. Přibyl nový obraz pro Orange Pi 5B.

    Ladislav Hagara | Komentářů: 0
    19.5. 07:44 | Zajímavý software

    Pokud je zranitelnost Linuxu v nepoužívaném jaderném modulu, lze ji jednoduše vyřešit zakázáním automatického načítání tohoto konkrétního zranitelného modulu. Projekt ModuleJail si klade za cíl zvýšit bezpečnost Linuxu zakázáním automatického načítání všech nepoužívaných jaderných modulů. Jedná se o skript, který dá všechny nepoužívané jaderné moduly na blacklist (/etc/modprobe.d/modulejail-blacklist.conf).

    Ladislav Hagara | Komentářů: 1
    Které desktopové prostředí na Linuxu používáte?
     (13%)
     (8%)
     (2%)
     (14%)
     (31%)
     (4%)
     (7%)
     (3%)
     (16%)
     (26%)
    Celkem 1672 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

    Dotaz: Monitorování komunikace mezi procesy

    2.3.2009 11:20 PetrHL | skóre: 17 | blog: petr_h | Neratovice
    Monitorování komunikace mezi procesy
    Přečteno: 331×

    Dobrý den,

    pokouším se komunikovat s jedním programem pomocí  msgget a msgrcv. Nějak mi to nechodí a bohužel netuším jestli je chyba u mě nebo v aplikaci, která by měla poslat data. Je nějaká možnost jak tuto komunikaci monitorovat? Nevím jak zjistit jestli daná app data vůbec odeslala. Děkuju za případnou radu.

    Petr

    "Do, or do not. There is no 'try.'" -- Jedi Master Yoda | CQRLOG | CQRPROP | HamQTH | Domů

    Odpovědi

    2.3.2009 11:45 Semo | skóre: 45 | blog: Semo
    Rozbalit Rozbalit vše Re: Monitorování komunikace mezi procesy
    Nieco sa da vidiet sledovanim suboru cat /proc/sysvipc/msg (napr. pomocou watch). Nie je to uplne odpocuvanie, ale da sa zistit cas posledneho zapisu a pod.
    If you hold a Unix shell up to your ear, you can you hear the C.
    2.3.2009 13:56 PetrHL | skóre: 17 | blog: petr_h | Neratovice
    Rozbalit Rozbalit vše Re: Monitorování komunikace mezi procesy

    Díky moc, to pomohlo. Zjistil jsem, že aplikace odesílá data a jak jsou velká.

    Použil jsem to takto:

    watch -d cat /proc/sysvipc/msg

    Bohužel se mi stále data nedaří přijímat. Nikde jsem nenašel nějaký rozumný příklad. Problém může být v tom, že se něco takového snažím udělat ve freepascalu.

    Zdroják je zde:

    var
      myid : LongInt;
      rcvdm : TMSGbuf;
      s : String = '';
      i : Integer = 0;
      e : LongInt;
    begin
      myid  :=   msgget(1238,0666  or  IPC_CREAT);
      Writeln(myid); //
      e := msgrcv(myid, @rcvdm, 1024, 0, 0 or IPC_NOWAIT);
      if e = MSG_NOERROR then
      begin
        for i:=0 to Length(rcvdm.mtext)-1 do
          s:= s + rcvdm.mtext[i];
        Memo1.Lines.Text := s
      end
      else
        Writeln(e)
    end;

    Bohužel už získání samotného myid nedopadne dobře. Stále se vrací -1. Ve zdrojáku v C je toto:

    msgid = msgget ((key_t) 1238, 0666 | IPC_CREAT);

    a chodí jim to.

    Nenapadá Vás co dělám blbě?

    Petr

    "Do, or do not. There is no 'try.'" -- Jedi Master Yoda | CQRLOG | CQRPROP | HamQTH | Domů
    2.3.2009 14:44 chochi | skóre: 29 | Praha
    Rozbalit Rozbalit vše Re: Monitorování komunikace mezi procesy

    Ahoj,

    V Pascalu jsem neprogramoval uz dlouho, takze nevim jestli to neni blbost - cislo zapsane v C zacinajici nulou je v osmickove soustave - nejsem si jist zda je to tak i v Pascalu.

    Takze bych zkusil misto 0666 napsat 438, nebo 0x186 (nebo jak se to pise).

    2.3.2009 14:55 Semo | skóre: 45 | blog: Semo
    Rozbalit Rozbalit vše Re: Monitorování komunikace mezi procesy
    Ked som sa hraval s msgqueues, tak castym problemom po chvily hrania bolo, ze starymi nezrusenymi frontami som vycerpal maximalny pocet queues v systeme. Takze:

    1.) pomocou utility ipcrm premazat vytvorene a opustene fronty (nezanikaju po skonceni programu tak ako deskriptory). Zaroven pri konceni vlastnych programov korektne mazat vytvorene IPC prostriedky.

    2.) zvacsit pocet moznych front v systeme: zapisat kernel.msgmni = 512 do /etc/sysctl.conf alebo spustit sysctl -w kernel.msgmni=512

    3.) po zfailovani msgget sa pozriet do globalnej premennej errno (ako sa do nej pozera v Pascale neviem) a zistit presnejsi kod chyby.
    If you hold a Unix shell up to your ear, you can you hear the C.
    2.3.2009 15:51 PetrHL | skóre: 17 | blog: petr_h | Neratovice
    Rozbalit Rozbalit vše Re: Monitorování komunikace mezi procesy

    Děkuju moc!

    Smazání fronty pomohlo, stejně tak i zapsání číšla v dekadickém tvaru. Trošku jsem se posunul. Teď program padne na hubu  na řádku, kde je ten for i:=0 atd. Padá to i když si chci hodnotu vypsat najednou pomocí Writeln. Jdu zkoumat dál.

    Moc díky za rady, naučil jsem se něco nového.

    Petr

    "Do, or do not. There is no 'try.'" -- Jedi Master Yoda | CQRLOG | CQRPROP | HamQTH | Domů
    2.3.2009 20:50 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: Monitorování komunikace mezi procesy
    Můžete použít utility strace a ltrace. A samozřejmě nástroj gdb.
    In Ada the typical infinite loop would normally be terminated by detonation.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.