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

    Armbian, tj. linuxová distribuce založená na Debianu a Ubuntu optimalizovaná pro jednodeskové počítače na platformě ARM a RISC-V, ke stažení ale také pro Intel a AMD, byl vydán ve verzi 25.11.1. Přehled novinek v Changelogu.

    Ladislav Hagara | Komentářů: 0
    dnes 04:00 | Nová verze

    Byla vydána nová verze 15.0 svobodného unixového operačního systému FreeBSD. Podrobný přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 2
    dnes 03:00 | Nová verze

    UBports, nadace a komunita kolem Ubuntu pro telefony a tablety Ubuntu Touch, vydala Ubuntu Touch 24.04 1.1 a 20.04 OTA-11. Vedle oprav chyb a drobných vylepšení je řešen také středně závažný bezpečnostní problém.

    Ladislav Hagara | Komentářů: 0
    dnes 00:33 | IT novinky Ladislav Hagara | Komentářů: 0
    včera 16:00 | Komunita

    Fedora zve na dvoudenní testování (2. a 3. prosince), během kterého si můžete vyzkoušet nové webové uživatelské rozhraní (WebUI) projektu FreeIPA. Pomozte vychytat veškeré chyby a vylepšit uživatelskou zkušenost ještě předtím, než se tato verze dostane k uživatelům Fedory a celého linuxového ekosystému.

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

    Eben Upton oznámil zdražení počítačů Raspberry Pi, kvůli růstu cen pamětí, a představil 1GB verzi Raspberry Pi 5 za 45 dolarů.

    Ladislav Hagara | Komentářů: 0
    včera 04:44 | Humor

    Linus Torvalds na YouTube kanálu Linus Tech Tips staví dokonalý linuxový počítač.

    Ladislav Hagara | Komentářů: 6
    včera 04:11 | Nová verze

    Po 9 týdnech vývoje od vydání Linuxu 6.17 oznámil Linus Torvalds vydání Linuxu 6.18. Přehled novinek a vylepšení na LWN.net: první a druhá polovina začleňovacího okna a Linux Kernel Newbies. Vypíchnout lze například podporu protokolu PSP (PSP Security Protocol, PSP encryption of TCP connections).

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

    Byla vydána nová stabilní verze 25.11 linuxové distribuce NixOS (Wikipedie). Její kódové označení je Xantusia. Podrobný přehled novinek v poznámkách k vydání. O balíčky se v NixOS stará správce balíčků Nix.

    Ladislav Hagara | Komentářů: 0
    včera 03:22 | Komunita

    Richard Hughes na Mastodonu oznámil, že se společnost Framework Computer stala sponzorem služby LVFS (Linux Vendor Firmware Service) umožňující aktualizovat firmware zařízení na počítačích s Linuxem.

    Ladislav Hagara | Komentářů: 0
    Jaké řešení používáte k vývoji / práci?
     (34%)
     (47%)
     (19%)
     (18%)
     (23%)
     (16%)
     (24%)
     (16%)
     (18%)
    Celkem 423 hlasů
     Komentářů: 17, poslední 19.11. 21:57
    Rozcestník

    Dotaz: Ukonceni behu "celeho" skriptu

    27.1.2012 11:10 Jiřík 1435 | skóre: 8
    Ukonceni behu "celeho" skriptu
    Přečteno: 306×
    Dobry den, sem zacatecnik v programovani pod linuxem. Chtel bych se zeptat na reseni nasledujiciho problemu. Mam skript s nazvem zaloha1.sh:
    #!/bin/sh
    rsyncdir() {
            rsync $1 
            sync
    }
    
    (
    while true; do
            rsyncdir adresar1
            sleep 10
            rsyncdir adresar2
            sleep 10
    done
    ) &
    Potrebuji vedet jak skript jednoduse ukoncim kdyz v seznamu procesu bezi jak /bin/sh ./zaloha1.sh s PID1 tak i - rsync adresarn s PID2. Kdyz totiz zadam kill PID1 proces s rsync adresarn stale bezi. Doufam ze jsem popsal svuj problem spravne.

    Odpovědi

    27.1.2012 11:18 Ragzid | skóre: 24 | blog: Pivní koutek | Liberec-Brno
    Rozbalit Rozbalit vše Re: Ukonceni behu "celeho" skriptu
    Jasne ze pobezi, protoze cela ta smycka bezi na pozadi, diky "&", ma to tam nejaky zvlastni duvod?
    27.1.2012 13:53 Jiřík 1435 | skóre: 8
    Rozbalit Rozbalit vše Re: Ukonceni behu "celeho" skriptu
    Ano, chci ten skript z konzole kdykoliv spustit, pokracovat v praci a konzoli ukoncit...neco jako sluzbu.
    27.1.2012 11:19 Vojtěch Horký | skóre: 39 | blog: Vojtův zápisník | Praha
    Rozbalit Rozbalit vše Re: Ukonceni behu "celeho" skriptu
    Z man stránky rsyncu:
    EXIT VALUES
           0      Success
           ...
           20     Received SIGUSR1 or SIGINT
    Takže pokud ukončíte ten rsync signálem SIGUSR1, tak by mělo stačit změnit:
    rsyncdir() {
            rsync $1
            [ "$?" -eq 20 ] && exit
            sync
    }
    Další možnost je ukončovat pokud existuje nějaký soubor (tj. například vytvořením /tmp/skonci.zalohu by se skript ukončil):
            rsyncdir adresar1
            [ -e "/tmp/skonci.zalohu" ] && exit
    I am always ready to learn although I do not always like to be taught. (W. Churchill)
    27.1.2012 12:48 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
    Rozbalit Rozbalit vše Re: Ukonceni behu "celeho" skriptu
    Já to zase řeším tak že při spuštění programu vytvořím soubor "/var/run/nazevprogramu.pid" kam zapíšu pid programu.

    Pokud program končí tak ho zase smažu.

    A když potřebuji přerušit program tak tam kde to potřebuji testuji zda ten soubor existuje a pokud ne korektně uklidím a ukončím program.

    Takže když chci z jiného programu ukončit ten spuštěný tak mu smažu ten soubor a on se ukončí sám.
    27.1.2012 13:56 Jiřík 1435 | skóre: 8
    Rozbalit Rozbalit vše Re: Ukonceni behu "celeho" skriptu
    To sem zkousel ale tim ukoncim pouze proces /bin/sh ./zaloha1.sh s PID1. Proces rsync adresarn s PID2 bezi dale.
    27.1.2012 14:18 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
    Rozbalit Rozbalit vše Re: Ukonceni behu "celeho" skriptu
    V tom skriptu se musíš postarat o ukončení toho co jsi z toho skriptu spustil.

    Já to mám trochu jednoduší program v C mi vypisuje na LED displej a běží na pozadí pořád a jak mu smažu soubor s pid tak se prostě korektně ukončí.
    27.1.2012 13:54 Jiřík 1435 | skóre: 8
    Rozbalit Rozbalit vše Re: Ukonceni behu "celeho" skriptu
    Ano ale jak si elegantne zjistim PID obou procesu ?
    27.1.2012 14:17 Vojtěch Horký | skóre: 39 | blog: Vojtův zápisník | Praha
    Rozbalit Rozbalit vše Re: Ukonceni behu "celeho" skriptu
    Proč obou?
    I am always ready to learn although I do not always like to be taught. (W. Churchill)
    27.1.2012 14:24 Jiřík 1435 | skóre: 8
    Rozbalit Rozbalit vše Re: Ukonceni behu "celeho" skriptu
    Protoze kdyz ukoncim beh /bin/sh ./zaloha1.sh tak rsync ktery ten skript spustil bezi dale a ja chci ukoncit vse co dany skript spustil.
    27.1.2012 14:46 Vojtěch Horký | skóre: 39 | blog: Vojtův zápisník | Praha
    Rozbalit Rozbalit vše Re: Ukonceni behu "celeho" skriptu
    Jistě, proto jsem navrhl, že otestujete návratovou hodnotu a pak skript ukončíte. Tudíž bude stačit zabít jen ten rsync.

    Při řešení se souborem (řešení s výmazem souboru je elegantnější) pak jen přidáte ten test do každého místa, kde je OK skončit. To má výhodu, že nemusíte nic ukončovat násilně, což je obvykle lepší řešení.
    I am always ready to learn although I do not always like to be taught. (W. Churchill)

    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.