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 16:22 | Pozvánky

    Spolek OpenAlt zve příznivce otevřených řešení a přístupu na 208. brněnský sraz, který proběhne v pátek 25. dubna od 18:00 ve studentském klubu U Kachničky na Fakultě informačních technologií Vysokého učení technického na adrese Božetěchova 2/1.

    Ladislav Hagara | Komentářů: 0
    dnes 12:44 | Zajímavý článek

    Ve svém článku Getting Forked by Microsoft popisuje autor programu Spegel svoji nepříjemnou zkušenost s firmou Microsoft. Firma ho kontaktovala a zpočátku to vypadalo, že by mohlo jít o oboustranně prospěšnou spolupráci, autor tedy ochotně odpovídal na jejich otázky ohledně architektury programu a pomáhal jim ho zprovoznit. Následně komunikace ze strany Microsoftu utichla. Autor předpokládal, že zřejmě došlo ke změně priorit a firma

    … více »
    xkucf03 | Komentářů: 9
    dnes 01:33 | IT novinky

    Společnost Notion Labs stojící za softwarovou platformou pro spolupráci Notion (Wikipedia) oficiálně představila (YouTube) poštovního klienta Notion Mail. Aktuálně funguje pouze nad Gmailem.

    Ladislav Hagara | Komentářů: 2
    včera 12:44 | Nová verze

    Byla vydána nová verze 9.12 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    20.4. 03:55 | Nová verze

    Na čem aktuálně pracují vývojáři GNOME a KDE Plasma? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE Plasma.

    Ladislav Hagara | Komentářů: 0
    19.4. 19:44 | Komunita

    Ubuntu 25.10 bude (𝕏) Questing Quokka (pátrající klokan quokka).

    Ladislav Hagara | Komentářů: 0
    19.4. 11:55 | Zajímavý software

    Ubisoft uvolnil zdrojové kódy softwaru Chroma pro simulaci barvosleposti pro vývojáře počítačových her. K dispozici jsou na GitHubu pod licencí Apache 2.0.

    Ladislav Hagara | Komentářů: 0
    19.4. 02:00 | Nová verze

    Defold (Wikipedie) je multiplatformní herní engine. Nejnovější verze je 1.10.0. Zdrojové kódy jsou k dispozici na GitHubu. Licence vychází z licence Apache 2.0.

    Ladislav Hagara | Komentářů: 0
    18.4. 13:00 | Bezpečnostní upozornění

    Správa služeb hlavního města Prahy se potýká s následky kyberútoku. Hackerská skupina začala zveřejňovat na internetu některé z ukradených materiálů a vyzvala organizaci k vyjednávání. Ta zatím podrobnosti k případu sdělovat nechce. Případem se zabývá policie i Národní úřad pro kybernetickou a informační bezpečnost (NÚKIB).

    Ladislav Hagara | Komentářů: 4
    18.4. 12:33 | Zajímavý software

    OCCT je oficiálně k dispozici na Linuxu (YouTube). Jedná se o proprietární software pro zátěžové testování a monitorování hardwaru.

    Ladislav Hagara | Komentářů: 2
    Jaký filesystém primárně používáte?
     (58%)
     (1%)
     (10%)
     (21%)
     (4%)
     (1%)
     (2%)
     (0%)
     (1%)
     (2%)
    Celkem 420 hlasů
     Komentářů: 18, poslední 17.4. 12:41
    Rozcestník

    Dotaz: Změna rodiče

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