K 1. lednu 2026 končí 70leté omezení majetkových autorských práv děl autorů zesnulých v roce 1955, viz 2026 in public domain. V americkém prostředí vstupují do public domain díla z roku 1930, viz Public Domain Day.
Všem vše nejlepší do nového roku 2026.
Crown je multiplatformní open source herní engine. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT a GPLv3+. Byla vydána nová verze 0.60. Vyzkoušet lze online demo.
Daniel Stenberg na svém blogu informuje, že po strncpy() byla ze zdrojových kódů curlu odstraněna také všechna volání funkce strcpy(). Funkci strcpy() nahradili vlastní funkcí curlx_strcopy().
Byla vydána nová verze 25.12.30 svobodného multiplatformního video editoru Shotcut (Wikipedie) postaveného nad multimediálním frameworkem MLT. Shotcut je vedle zdrojových kódů k dispozici také ve formátech AppImage, Flatpak a Snap.
Společnost Valve publikovala přehled To nej roku 2025 ve službě Steam aneb ohlédnutí za nejprodávanějšími, nejhranějšími a dalšími nej hrami roku 2025.
Byly publikovány výsledky průzkumu mezi uživateli Blenderu uskutečněného v říjnu a listopadu 2025. Zúčastnilo se více než 5000 uživatelů.
V dokumentově orientované databázi MongoDB byla nalezena a v upstreamu již opravena kritická bezpečností chyba CVE-2025-14847 aneb MongoBleed.
Při úklidu na Utažské univerzitě se ve skladovacích prostorách náhodou podařilo nalézt magnetickou pásku s kopií Unixu V4. Páska byla zaslána do počítačového muzea, kde se z pásky úspěšně podařilo extrahovat data a Unix spustit. Je to patrně jediný známý dochovaný exemplář tohoto 52 let starého Unixu, prvního vůbec programovaného v jazyce C.
Když k tomu dojde, vše se ukončí, kromě hlavního procesu - mplayer/mencoder jede dál.
Potřeboval bych poradit, jak z funkce na pozadí zastavit hlavní proces. Kill $$ nezabírá. Mám to asi takto:
function ukoncit()
{hlídací smyčka, pokud bylo stisknuto vypínací tlačítko, tak kill $$}
ukoncit &
mencoder...
Předem děkuji.
killall, akorat se musi davat bacha na to, aby nebyl zapnuty jiny mencoder
Skript však běží dál, a po chvíli se spustí 2 průchod mencoderu. Jak zastavit i ten ?
exit?
Obejdu se už bez smyčky:
function k_n_dcop()
{
killall -kill mplayer
killall -kill lame
killall -kill mencoder
clear
echo "Ukončuji program"
dcop $dcopRef close
echo
kdialog --msgbox "Program byl předčasně ukončen\nDěkuji za použití\
programu VIDEO > AVI !\nNashledanou" --title "VIDEO > AVI !" &
echo "Program byl předčasně ukončen"
echo "Děkuji za použití programu VIDEO > AVI !"
echo "Nashledanou"
echo
kill -s 9 $$
exit
}
Jinak souhlasím, že killall je prasárna (zvláště mně štve, že to ukončí i jiné mplayery a spol). Budu samozřejmě rád, když to půjde jinak.
function ukoncit()
{hlídací smyčka, pokud bylo stisknuto vypínací tlačítko, tak kill $1}
mencoder... &
ukoncit $! &
Navic bys mohl pockat, jestli se proces ukonci, a kdyby ne, poslat mu sigkill.
function ptree() {
local ii
for ii in `ps --ppid $1 --no-heading -o pid`
do
ptree $ii
done
echo $1
}
Kdyz das misto "echo $1" "kill $1" nebo "kill -9 $1", melo by to zlikvidovat cely strom procesu vychazejici z procesu, jehoz pid zadas jako parametr. Pozor, muze to byt nebezpecne
.
. Zkus kdyztak upresnit, jak bezi ten vlastni skript. Nebo mi ho posli mailem (pres profil), jestli to nechces davat sem.
): http://mujweb.cz/www/widle/programy/video-avi-0.92beta-cyron.tar.gz.
. Jdu se mrknout.
.
#!/usr/bin/env python
import sys,os,subprocess,signal
pids = []
def run(command):
process = subprocess.Popen(command)
pids.append(process.pid)
def konec():
for pid in pids:
os.kill(pid, signal.SIGTERM)
sys.exit()
run(['sleep', '20'])
run(['sleep', '20'])
konec()
Ten program spustí "na pozadí" nějaké procesy (v tomto případě sleep 20) a před ukončením hlavního programu projde pole se schovanými pidy a všechny postupně ukončí.
To, co jsem napsal, je z hlediska pythonu prasárna - neodchytávám výjimky a používám globální proměnnou, ale v bashi se to tak píše běžně.
Tiskni
Sdílej: