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í
×
    dnes 04:55 | Komunita

    Nové verze webových prohlížečů Chrome a Firefox jsou vydávány každé 4 týdny. Aktuální verze Chrome je 150. Aktuální verze Firefoxu je 152. V březnu bylo oznámeno, že od září přejde Chrome na dvoutýdenní cyklus vydávání verzí. To by znamenalo, že Chrome v číslování verzí Firefox brzy přeskočí. Vývojáři Firefoxu proto také od září přecházejí na dvoutýdenní cyklus vydávání verzí. :-)

    Ladislav Hagara | Komentářů: 0
    dnes 00:22 | Zajímavý software

    Microsoft Comic Chat (Wikipedie), tj. grafický IRC klient z devadesátek, který převáděl konverzace na IRC do podoby komiksových panelů, a který zpopularizoval font Comic Sans, je dnešním dnem open source. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.

    Ladislav Hagara | Komentářů: 1
    včera 19:55 | Nová verze

    Byla vydána (𝕏) nová verze 26.7 open source firewallové a routovací platformy OPNsense (Wikipedie). Jedná se o fork pfSense postavený na FreeBSD. Kódový název OPNsense 26.7 je Xenial Xenops. Přehled novinek v příspěvku na fóru.

    Ladislav Hagara | Komentářů: 0
    včera 14:44 | IT novinky

    Na Seznam nepovolených internetových her (Wikipedie) se k 13. 7. 2026 dostala predikční platforma Polymarket.

    Ladislav Hagara | Komentářů: 3
    včera 14:22 | Zajímavý článek

    Nová čísla časopisů od nakladatelství Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 167 (pdf) a Hello World 30 (pdf).

    Ladislav Hagara | Komentářů: 0
    včera 00:44 | Nová verze

    Byla vydána nová verze 3.22.0 grafického vývojového prostředí a platformy Gambas (Wikipedie) založené na interpretru programovacího jazyka Basic s rozšířením o objektově orientované programování. Přehled novinek v poznámkách k vydání. Zdrojové kódy jsou k dispozici na GitLabu.

    Ladislav Hagara | Komentářů: 0
    15.7. 20:22 | Komunita

    FreeBSD odstranilo poslední GPL kód ze základního systému. Konkrétně dpv, libdpv, libfigpar a dialog. Instalátor před čtyřmi lety přešel z dialogu na bsddialog.

    Ladislav Hagara | Komentářů: 2
    15.7. 15:22 | IT novinky

    Sociální síti 𝕏 (dříve Twitter) má dnes 20 let. Pro veřejnost byla zpřístupněna 15. července 2006.

    Ladislav Hagara | Komentářů: 2
    15.7. 14:22 | Zajímavý software

    Insula Faktury je open source generátor faktur, který běží přímo ve webovém prohlížeči. Žádná registrace, žádné sledování, žádné omezení. Zdrojové kódy jsou k dispozici na Codebergu.

    Ladislav Hagara | Komentářů: 18
    15.7. 13:22 | Komunita

    První Mobile Linux Hackday v Plzni, tj. komunitní setkání věnované Linuxu na mobilních zařízeních, proběhne 24. července od 10:00. Akce je otevřená všem zájemcům – od zvědavců po zkušené vývojáře. Dopoledne proběhnou přednášky Davida Heidelberga a Petra Hodiny o aktuálním stavu mobilního Linuxu: proč vůbec chtít tučňáka v kapse, jaké telefony jsou dnes dobře podporované a co taková podpora obnáší. Po obědě se zaměříme na konkrétní

    … více »
    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (11%)
     (7%)
     (2%)
     (17%)
     (31%)
     (4%)
     (6%)
     (2%)
     (15%)
     (25%)
    Celkem 2147 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: 365×

    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.