Multiplatformní multimediální knihovna SDL (Simple DirectMedia Layer) byla oficiálně vydána v nové major verzi 3 (3.2.0). Změny jsou popsány v README pro migraci aplikací z SDL 2 na SDL 3.
Wine bylo po roce vývoje od vydání verze 9.0 vydáno v nové stabilní verzi 10.0. Přehled novinek na GitLabu. Vypíchnuta je nová architektura ARM64EC a podpora High DPI škálování.
Edvard Rejthar na blogu zaměstnanců CZ.NIC představil nástroj deduplidog pro odstranění duplicitních souborů.
Společnost DeepSeek představila (𝕏) AI model DeepSeek-R1 (Hugging Face) srovnatelný s OpenAI o1 a uvolnila jej pod open source licencí MIT, tj. zdarma i pro komerční použití.
GKrellM (GNU Krell Monitors, Wikipedie), tj. grafická aplikace pro sledování systémů a různých událostí, byla po pěti a půl letech vydána v nové verzi 2.4.0. Přehled novinek na Gitea.
Americká první dáma Melania Trumpová vydala v předvečer manželovy inaugurace vlastní kryptoměnu. Jmenuje se $Melania. Donald Trump vydal vlastní kryptoměnu $Trump den před manželkou.
GNU Project Debugger aneb GDB byl vydán ve verzi 16.1. Podrobný přehled novinek v souboru NEWS.
Po 9 týdnech vývoje od vydání Linuxu 6.12 oznámil Linus Torvalds vydání Linuxu 6.13. Přehled novinek a vylepšení na LWN.net: první a druhá polovina začleňovacího okna a Linux Kernel Newbies. Odstraněn byl souborový systém ReiserFS.
19. ledna 2038 přeteče hodnota time_t na 32bitových systémech, na vyřešení problému roku 2038 (Y2K38) tedy zbývá 13 let. Např. Debian v uplynulém roce přešel na 64bitový čas. Bernhard Wiedemann z openSUSE sdílí chyby v sestavení rozšířeného softwaru.
Byla vydána druhá opravná verze 21.2 v dubnu loňského roku vydané verze 21 multimediálního centra Kodi (dříve XBMC, Wikipedie) s kódovým označením Omega.
Ahoj.
Když pustím:
sh -c 'yes'
a pošlu SIGTERM právě spuštěnému shellu, sh i yes skončí.
Když pustím:
sh -c 'yes | sed "s/y/n/"'
a pošlu SIGTERM právě spuštěnému shellu, sh skončí, ale yes a sed zůstanou běžet (init se stane předkem).
Proč?
V bash manpage je napsáno, že pokud je shell interaktivní a dostane SIGHUP, přepošle ho všem potomkům a počká na ně než se ukončí. Je možné dosáhnout něčeho podobného (tj. ukončit processy, které pod ním běží, když dostane nějaký signál, např. TERM) když je shell neinteraktivní (tj. když ho spustím s parametrem -c).
Děkuju za pomoc.
Proč?Neručím za to, že to vysvětluji správně - větší znalci mě snad opraví . Pokud pustím z terminálu
sh -c 'yes'tak
sh
provede rovnou exec()
a yes
je tedy potomkem interaktivního shelu a tudíž dostane hezky ten signál přeposlaný.
Pokud se ale spustí
sh -c 'yes | sed "s/y/n/"'tak se musí vytvořit subshell (jsou nutné 2×
fork()
a 2× exec()
) a ten už je neinteraktivní a signály asi ignoruje.
Jak se tomu vyhnout mě ale nenapadá.
Diky, to je ono (v prvnim pripade v `ps -f' opravdu zadny sh neni, v druhem ano).
Ten neinteraktivni shell signaly neignoruje, ale jenom nepokilluje potomky (coz je asi spravne, ale ted mi to zrovna nevyhovuje).
Muzete poslat signal cele skupine procesu, to zabije nejenom sh -c ale i jeho potomky. To se dela tak, ze prikazu kill predate zaporny PID. Napr., pokud PID procesu sh -c je 1234, pak kill -9 -1234 zabije i 'yes | sed'.
trap
, kterým definuješ akce, které se mají provést po obdržení specifického signálu.
Tiskni Sdílej: