Google Chrome 153 byl prohlášen za stabilní. Nejnovější stabilní verze 153.0.8010.36 přináší řadu novinek. Podrobný přehled v poznámkách k vydání. Opraveno bylo 230 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.
Open-source hra Shattered Pixel Dungeon (Wikipedie) byla vydána ve verzi 4.0.0. Přehled novinek v příspěvku na blogu.
Apple dnes představil (YouTube) iPhone Duo, iPhone 18 Pro, Watch Series 12, Watch Ultra 4 a AirPods 5.
Společnost System76 představila pracovní stanici Thelio Mira AI s předinstalovaným Pop!_OS s prostředím COSMIC nebo Ubuntu. Nakonfigurovat lze až s 16jádrovým CPU AMD Ryzen 9 9950X, 192 GB DDR5 RAM, dvěma GPU NVIDIA RTX Pro 6000 a 192 GB GPU pamětí.
DigitalOcean je sponzorem nadace Omacom Foundation stojící za linuxovou distribucí Omarchy. Přislíbená částka je 3 miliony dolarů, tj. 1 milion dolarů ročně po dobu tří let.
Na stránkách PostgreSQL bylo představeno LibreDB Studio. Jedná se o open-source self-hostované SQL IDE pro (nejenom) PostgreSQL v prohlížeči. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.
Byla vydána nová verze 12.0 media serveru Jellyfin (Wikipedie). Přehled novinek v poznámkách k vydání. Pro vyzkoušení je k dispozici Demo Server. Jellyfin je fork media serveru Emby, původně Media Browser.
V MikroTik RouterOS bylo nalezeno šest zranitelností společně pojmenovaných MikroTrick umožňujících útočníkovi, pokud má přístup k SSH, získat plnou kontrolu nad zařízením bez nutnosti autentizace. Ve verzích RouterOS 7.25beta3, 7.24.2, 7.23.4 a 6.49.21 je již opraveno.
Byla vydána verze 9.5 open source unixového operačního systému NetBSD (Wikipedie). Přehled novinek v poznámkách k vydání. Jedná se poslední vydání řady NetBSD 9. Doporučen je přechod na NetBSD 11 nebo NetBSD 10.
Akční adventura State of Mind je na portále GOG.com zdarma, akce trvá do 10. září.
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: