86Box (Wikipedie), tj. emulátor retro počítačů založených na x86, byl vydán ve verzi 6.0. Přibyly například zvuky pevného disku. Na GitHubu jsou vedle zdrojových kódů ke stažení také připravené balíčky ve formátu AppImage.
Byla vydána nová verze 4.6 audio přehrávače Audacious (Wikipedie). Z novinek lze vypíchnout nový plugin pro procházení soubory, podporu audio formátu Musepack SV8 nebo přechod na build systém Meson.
Alliance for Open Media vydala verzi 1.0.0 specifikace svobodného videoformátu AV2. Jean-Baptiste Kempf, prezident neziskové organizace VideoLAN stojící za svobodným multiplatformním multimediálním přehrávačem a frameworkem VLC, představil na svém blogu dekodér AV2 s názvem dav2d.
V aktuálním přehledu vývoje renderovacího jádra webového prohlížeče Servo (Wikipedie) bylo oznámeno vydání nové verze 0.2.0.
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 26.5.1. Přehled novinek na GitHubu.
Byla vydána nová stabilní verze 26.05 linuxové distribuce NixOS (Wikipedie). Její kódové označení je Yarara. Podrobný přehled novinek v poznámkách k vydání. O balíčky se v NixOS stará správce balíčků Nix.
Byla vydána verze 1.96.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.
Společnosti IBM a Red Hat představily Project Lightwell s investicí 5 miliard dolarů. Jedná se o důvěryhodné clearingové centrum pro bezpečnost open source softwaru a zabezpečení dodavatelských řetězců s novým AI modelem a globální skupinou více než 20 000 softwarových inženýrů. Služby centra budou dostupné prostřednictvím komerčních předplatných. Project Lightwell staví na iniciativách jako Anthropic Glasswing nebo OpenAI Trust Access for Cyber.
Open source 3D herní a simulační engine Open 3D Engine (O3DE) byl vydán v nové verzi 26.05. Podrobný přehled novinek v poznámkách k vydání.
Český stát by v budoucnu mohl provozovat vlastní alternativu ke komunikačním aplikacím typu WhatsApp, Signal, Telegram, Facebook Messenger a podobně. Cílem je zajistit bezpečnou datovou komunikaci pro stát a jeho důležité subjekty, jako jsou bezpečnostní složky, ministerstva a další organizace.
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: