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:44 | Nová verze

    Byla vydána verze 4.0.0 programovacího jazyka Ruby (Wikipedie). S Ruby Box a ZJIT. Ruby lze vyzkoušet na webové stránce TryRuby. U příležitosti 30. narozenin, první veřejná verze Ruby 0.95 byla oznámena 21. prosince 1995, proběhl redesign webových stránek.

    Ladislav Hagara | Komentářů: 0
    24.12. 02:11 | Komunita

    Všem čtenářkám a čtenářům AbcLinuxu krásné Vánoce.

    Ladislav Hagara | Komentářů: 20
    24.12. 02:00 | Nová verze

    Byla vydána nová verze 7.0 linuxové distribuce Parrot OS (Wikipedie). S kódovým názvem Echo. Jedná se o linuxovou distribuci založenou na Debianu a zaměřenou na penetrační testování, digitální forenzní analýzu, reverzní inženýrství, hacking, anonymitu nebo kryptografii. Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    23.12. 18:33 | Nová verze

    Vývojáři postmarketOS vydali verzi 25.12 tohoto před osmi lety představeného operačního systému pro chytré telefony vycházejícího z optimalizovaného a nakonfigurovaného Alpine Linuxu s vlastními balíčky. Přehled novinek v příspěvku na blogu. Na výběr jsou 4 uživatelská rozhraní: GNOME Shell on Mobile, KDE Plasma Mobile, Phosh a Sxmo.

    Ladislav Hagara | Komentářů: 0
    23.12. 13:55 | Nová verze

    Byla vydána nová verze 0.41.0 multimediálního přehrávače mpv (Wikipedie) vycházejícího z přehrávačů MPlayer a mplayer2. Přehled novinek, změn a oprav na GitHubu. Požadován je FFmpeg 6.1 nebo novější a také libplacebo 6.338.2 nebo novější.

    Ladislav Hagara | Komentářů: 0
    23.12. 12:44 | Nová verze

    Byla vydána nová verze 5.5 (novinky) skriptovacího jazyka Lua (Wikipedie). Po pěti a půl letech od vydání verze 5.4.

    Ladislav Hagara | Komentářů: 0
    22.12. 23:44 | Nová verze

    Byla vydána nová verze 5.4.0 programu na úpravu digitálních fotografií darktable (Wikipedie). Z novinek lze vypíchnout vylepšenou podporu Waylandu. Nejnovější darktable by měl na Waylandu fungovat stejně dobře jako na X11.

    Ladislav Hagara | Komentářů: 0
    21.12. 05:00 | Nová verze

    Byla vydána beta verze Linux Mintu 22.3 s kódovým jménem Zena. Podrobnosti v přehledu novinek a poznámkách k vydání. Vypíchnout lze, že nástroj Systémová hlášení (System Reports) získal mnoho nových funkcí a byl přejmenován na Informace o systému (System Information). Linux Mint 22.3 bude podporován do roku 2029.

    Ladislav Hagara | Komentářů: 2
    21.12. 01:55 | Nová verze

    GNU Project Debugger aneb GDB byl vydán ve verzi 17.1. Podrobný přehled novinek v souboru NEWS.

    Ladislav Hagara | Komentářů: 0
    19.12. 17:22 | IT novinky

    Josef Průša oznámil zveřejnění kompletních CAD souborů rámů tiskáren Prusa CORE One a CORE One L. Nejsou vydány pod obecnou veřejnou licenci GNU ani Creative Commons ale pod novou licencí OCL neboli Open Community License. Ta nepovoluje prodávat kompletní tiskárny či remixy založené na těchto zdrojích.

    Ladislav Hagara | Komentářů: 14
    Kdo vám letos nadělí dárek?
     (34%)
     (2%)
     (10%)
     (2%)
     (1%)
     (2%)
     (16%)
     (19%)
     (13%)
    Celkem 89 hlasů
     Komentářů: 18, poslední 24.12. 15:30
    Rozcestník

    Dotaz: Změna rodiče

    26.7.2004 16:20 Martin
    Změna rodiče
    Přečteno: 168×
    Dobrý den, mám následující dotaz.Je v Linuxu funkční volání jádra "setpgrp" stejně jako je to běžně uváděno pro Unix? Mám třeba: .. .. ..

    main(void) ( -vím,to je špatná závorka- . . setpgrp(); while(1) -a třeba nekonečný cyklus-- Po překladu program spustim a čekal bych že jako rodiče bude mít proces "init" ale není tomu tak, podle vypisu ps apod. je jeho rodičem stále bash ze kterého byl spuštěn. Pokud mi někdo napíše co zapomínám nebo nevím budu rád, děkuji velmi. M.

    Odpovědi

    26.7.2004 16:24 Martin
    Rozbalit Rozbalit vše Re: Změna rodiče
    Ještě jsem zapomněl napsat, jádro je 2.4.19.Díky.
    26.7.2004 16:51 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
    Rozbalit Rozbalit vše Re: Změna rodiče
    setpgrp nasatvuje pgid a ne ppid! ps xf vypisuje zavislost mezi procesi na zaklade ppid. setpgrp je to co dela nohup a schvalne si zkus, ze zustane child bashe a pritom pri ukonceni nedostane SIGHUP. Prave k tomu je urceno pgid.
    XML je zbytečný, pomalý, nešikovný balast, znovu vynalézané kolo a ještě ke všemu šišaté, těžké a kýčovitě pomalované.
    26.7.2004 17:48 Martin
    Rozbalit Rozbalit vše Re: Změna rodiče
    Děkuji za odpověď, já jsem tomu původně rozumněl tak že zavolání setpgrp změní volající proces na vedoucího skupiny a jeho parent bude proces s pid 1, tedy init. Alespoń se to tak píše v literatuře o Unixu.Docela by mne zajímalo jestli to je rozdíl mezi linuxem a unixem.Jinak díky.M.
    27.7.2004 15:56 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
    Rozbalit Rozbalit vše Re: Změna rodiče
    setpgrp() je alias na volání setpgid(0,0) což zamená, že se změní pgid aktuálního procesu na 0 jak je ostatně jasně posáno v man stránce. Tedy parent group se nastaví sheduler jádra, což odpovídá přesně tomu co se píše v literatuře o unixu (Linuxové jádro je trochu odlišné v tom, že init proces je proces jako každý jiný narozdíl od některých unixů kde je procest init přímo v jádře a má pid=0!), problém je v tom, že zaměňujete parent proces id (ppid) za parent (terminal) group id (pgid) což jsou dvě naprosto odlišné věci. Asi by jste tu literaturu měl prostudovat pozorněji znova, nebo jste možná šáhl po špatné literatuře.
    XML je zbytečný, pomalý, nešikovný balast, znovu vynalézané kolo a ještě ke všemu šišaté, těžké a kýčovitě pomalované.
    27.7.2004 20:16 Martin
    Rozbalit Rozbalit vše Re: Změna rodiče
    Velmi Vám děkuji.Já jsem četl UNIX POSIX PLAN 9 od Lu. Skoč. a špatně jsem to interpretoval. Pgid je tedy čislo které mi vrátí getpgrp(). To ale nebývá 0, scheduler asi vždy dosadí pgid jako číslo blízké pgid původní terminálové skupiny kam proces patřil před voláním sepgrp(). Ale ano, oni vlastně píšou je-li požadavek na nové pgid 0 tak je použit pid volajícího procesu.Aha. Také mne překvapilo že pgid procesu "pod" bashem má pgid jako svůj pid, myslel jsemže bash je lídrem který otevřel terminál a pgid procesu "pod ním" bude mít pgid jako má bash pid,tedy vlastně jako je pid bashe,aha ale já vlastně nevím jestli bash sám nevolá setpgrp(). Zkoušel jsem pustit procesy na pozadí pod bashem a ty které volali setpgrp() po ukončení bashe pokračovali dál ostatní asi dostali SIGHUP jak jste mi psal a skončili. No a podobně bych tedy čekal že když normálně rozjedu dva procesy kde rodič zavolá setpgrp(),bude tedy lídrem skupiny(?) a bude mít normálně pod sebou child,tak když rodič zavolá exit(), měl by skončit i child ???. Jinak Vám strašně děkuju, rád bych se ravanšoval ale navím jak.Martin
    28.7.2004 08:48 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
    Rozbalit Rozbalit vše Re: Změna rodiče
    UNIX POSIX PLAN 9 od Lu. Skoč. - wow, to jsem četl taky :-D Dost dobrá knížka i když místy ukázkové zdrojáky obsahují drobnou chybku. Sheduler nic nedosazuje, dosazuje jádro a ten dosadí pgid rodičovského procesu při fork() (přesněji ho prostě nechá stejné :-), skopíruje záznam procesu v jádře, tak jak je, jen mu dá nové pid a nastaví ppid na rodiče - to vám ostatně vrátí fork() ). Ten rodič musí zavolat setpgrp() samozřejmě před fork() svých potomků, no a potom při ukončení terminálu by měl dostat SIGHUP a všichni jeho potomci, jak je to s exit() nevím. To by chtělo asi vyzkoušet.
    XML je zbytečný, pomalý, nešikovný balast, znovu vynalézané kolo a ještě ke všemu šišaté, těžké a kýčovitě pomalované.
    28.7.2004 17:10 Martin
    Rozbalit Rozbalit vše Re: Změna rodiče
    No já jsem se teď dočetl že když bash spouští další proces tak opravdu postupuje fork,setpgrp,exec. Proto je pgid nového procesu totožné jako pid nového procesu.To jsem nevěděl. Já vlastně nechápu nějakou základní věc.Všude v literatuře se uvádí že child je existenčně zavislý na rodiči.Dokonce se přímo uvádí toto jako výhoda,neboť u rozsáhlého programového systému stačí ukončit rodiče a automaticky skončí všechny "jeho" dětské procesy. Jinak ovšem když naprogramujete jednoduše parent a jeho child a necháte parent dříve ukončit, child potom pokračuje a jako "sirotek" má pgid rovno 1,tedy parent je init. jak to vlastně koresponduje s onou existenční závislostí ?? M.
    29.7.2004 08:23 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
    Rozbalit Rozbalit vše Re: Změna rodiče
    No s tou závislostí jsem to taky moc nepochopil. Luděk píše, něco v tom smyslu, že když zanikne rodič a jeho potomci jsou v jeho pgid (jejich pgid == pid toho rodiče) tak by měli skončit s ním (jestli to udělá jádro, nebo to musí udělat sám třeba killpg, nevím). Pokud ale děti jsou v jiné (třeba své vlastní) pgid, tak by mělo jádro samo po smrti rodiče nastavit jejich ppid na 1. To chce odzkoušet nebo nastudovat. Skočovský je dobrý, ale jak říkám, jsou tam občas chybky a nepřesnosti a hlavně je to jen takový úvod. Pro hloubkové proniknutí to asi chce nějaký skripta o unix OS, nebo přímo normu.
    XML je zbytečný, pomalý, nešikovný balast, znovu vynalézané kolo a ještě ke všemu šišaté, těžké a kýčovitě pomalované.
    29.7.2004 22:42 #2453 | skóre: 21
    Rozbalit Rozbalit vše Re: Změna rodiče
    Taky bych vymenil rodice...
    30.7.2004 12:32 Martin
    Rozbalit Rozbalit vše Re: Změna rodiče
    Ovšem zavolat setpgrp z okna (nebo dokonce z wokna) Vám tedy nepomůže, protože jak už jsem pochopil se tím pgid nemění. Nojo, ono pokud se vedoucímu skupiny pošle kill -9 -jeho pid (tedy záporná hodnota jeho pid), tak všichni jeho potomci skončí, ovšem ti potomci kteří dříve volali setpgrp tak ti běží dál, aha aha tak to je stopa, možná že to někdy snad i pochopim. Martin
    30.7.2004 14:13 Martin
    Rozbalit Rozbalit vše Re: Změna rodiče
    v té první větě má být ppid samozřejmě.M

    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.