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

    Byla vydána nová verze 12.0.0 vizuálního programovacího jazyka Snap! (Wikipedie) inspirovaného jazykem Scratch (Wikipedie). Přehled novinek na GitHubu.

    Ladislav Hagara | Komentářů: 0
    dnes 11:44 | IT novinky

    Počítačovou hru Gravity Circuit (ProtonDB) lze do 14. června do 19:00 získat na Steamu zdarma. Napořád.

    Ladislav Hagara | Komentářů: 0
    dnes 11:00 | Bezpečnostní upozornění

    Nejnovější X.Org X server 21.1.23 a Xwayland 24.1.12 řeší 9 bezpečnostních chyb.

    Ladislav Hagara | Komentářů: 0
    včera 22:33 | Bezpečnostní upozornění

    npm balíčky @redhat-cloud-services byly kompromitovány.

    Ladislav Hagara | Komentářů: 5
    včera 22:22 | Bezpečnostní upozornění

    Byly publikovány informace o zranitelnosti CVE-2026-46243 pojmenované CIFSwitch v Linuxu od roku 2007. Běžný uživatel může získat práva roota (lokální eskalaci práv). V upstreamu je již opraveno.

    Ladislav Hagara | Komentářů: 0
    včera 19:22 | IT novinky

    Nvidia na své konferenci NVIDIA GTC Taipei 2026 představila řadu novinek. Společně s Microsoftem představili superčip NVIDIA RTX Spark (až 6 144 jader GPU, 20 jader CPU, 1 petaflop AI výkonu v FP4 a 128 GB jednotné paměti). První notebooky a stolní počítače s tímto čipem od Nvidie místo Intelu nebo AMD by se měly na trh dostat na podzim letošního roku.

    Ladislav Hagara | Komentářů: 8
    včera 13:22 | IT novinky

    Na Kickstarteru běží kampaň na podporu kapesního počítače s Linuxem CardputerZero od společnosti M5Stack. Postaven je na Raspberry Pi Compute Module 0. Podporuje moduly M5. Koupit lze s rozšířeními LoRa a CC1101.

    Ladislav Hagara | Komentářů: 0
    včera 11:11 | Pozvánky

    Tento týden se bude vyznačovat zejména deštěm, a proto vás může zajímat, že již v úterý proběhne 63. Virtuální Bastlírna, která se bude odehrávat přímo v teple vašich domovů a bastlíren. Proto se připojte k této volné otevřené diskuzi bastlířů, techniků, vědců, ve které se probírají novinky a zajímavá témata z techniky. Mezi největší novinky bude tentokrát patrně patřit oznámení hackerského nástroje Flipper One. Zároveň úspěšně probíhá

    … více »
    bkralik | Komentářů: 0
    včera 03:22 | Nová verze

    86Box (Wikipedie), tj. emulátor retro počítačů založených na x86, byl vydán ve verzi 6.0. Přibyly například zvuky pevného disku. Na GitHubu jsou vedle zdrojových kódů ke stažení také připravené balíčky ve formátu AppImage.

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

    Byla vydána nová verze 4.6 audio přehrávače Audacious (Wikipedie). Z novinek lze vypíchnout nový plugin pro procházení soubory, podporu audio formátu Musepack SV8 nebo přechod na build systém Meson.

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


    Dotaz: Změna rodiče

    26.7.2004 16:20 Martin
    Změna rodiče
    Přečteno: 176×
    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.