Tetris a DOOM běžící v pdf. Proč a jak v příspěvku na blogu.
Společnost Oracle představila sadu nástrojů a skriptů pro sběr a analýzu dat o stavu linuxových systémů a jejich ladění pod společným názvem Oracle Linux Enhanced Diagnostics (OLED). K dispozici pod licencí GPLv2.
OpenZFS (Wikipedie), tj. implementace souborového systému ZFS pro Linux a FreeBSD, byl vydán ve verzi 2.3.0. Přináší RAIDZ Expansion, Fast Dedup, Direct IO, JSON a Long names.
Společnost PINE64 stojící za telefony PinePhone nebo notebooky Pinebook publikovala na svém blogu lednový souhrn novinek.
Baví vás bastlení, fyzika, IT a nebo prostě cokoliv technického? Proseděli jste celé Vánoce v záři obrazovky počítače a nebo jste o tom alespoň snili? Chcete se pochlubit technickými vánočními dárky? Pak doražte na Virtuální Bastlírnu - online pokec (nejen) techniků a bastlířů!
… více »Desktopové prostředí Enlightenment bylo vydáno ve verzi 0.27.0, provázejí ho knihovny EFL 1.28. Jde o převážně opravné vydání opět po roce.
Lazygit byl vydán ve verzi 0.45.0. Jedná se o TUI (Text User Interface) nadstavbu nad gitem.
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.
Byla vydána nová verze 2.48.0 distribuovaného systému správy verzí Git. Přispělo 93 vývojářů, z toho 35 nových. Přehled novinek v příspěvku na blogu GitHubu a v poznámkách k vydání.
Byl vydán Debian 12.9, tj. devátá opravná verze Debianu 12 s kódovým názvem Bookworm. Řešeny jsou především bezpečnostní problémy, ale také několik vážných chyb. Instalační média Debianu 12 lze samozřejmě nadále k instalaci používat. Po instalaci stačí systém aktualizovat.
function tree { ... ... ... # všechno se provedlo # teď vytvořím soubor a.success abych dal vědět scriptu, že jsem hotov echo "success" > /tmp/a.success # teď musím počkat až bude existovat soubor b.success který vytvoří script který jede normálně na popředí while [ -f /tmp/b.success ] do break # Tady má být možná něco jiného pro ukončení toho cyklu a celé funkce tree done } #volám funkci tree, spouštím ji na pozadí tree & # tady pokračuji dál ... ... ... # všechno se provedlo # teď vytvořím soubor b.success abych dal vědět funkci tree, že jsem hotov # teď musím počkat až bude existovat soubor a.success který vytvoří funkce tree while [ -f /tmp/a.success ] do break # Tady má být možná něco jiného pro ukončení toho cyklu a celé funkce tree done echo "Hotovo, končím"Jenže to nějak nefunguje co je špatně? máte lepší řešení? Díky za pomoc
#!/bin/bash rm /tmp/succes function tree() { while [ ! -f /tmp/succes ] ; do echo "tree is growing" ; sleep 1 done } tree & sleep 5 touch /tmp/succes
Proč je tam to čekání křížem? To má nějaký smysl?
Pokud je účelem počkat na skončení podprocesu, tak na to má bash přímo interní příkaz wait
.
Negace podmínky existence souboru už tu padla, ale dělat idle cyklus je pěkná prasárna. Sleep to částečně "řeší" (dokud těhle cyklů se sleep nepoběží moc), ale také záleží, jestli je případná prodleva OK. Slušnější je čekat na nějakou událost (zapsání znaku do souboru/roury), kterou je možné číst blokujícím systémovým voláním (třeba právě pomocí read
z předem vytvořeného souboru). Případně se dá velmi podobně využít flock
, který umí blokovat, dokud se zámek neuvolní.
Další možnost, ale jen v novém bashi (verze 4) je interní příkaz coproc
, který spustí příkaz na pozadí a rovnou k němu otevře anonymní pipe, takže pro komunikaci pak není vůbec potřeba filesystém.
Tiskni Sdílej: