Fedora 40 release party v Praze proběhne v pátek 17. května od 18:30 v prostorách společnosti Etnetera Core na adrese Jankovcova 1037/49, Praha 7. Součástí bude program kratších přednášek o novinkách ve Fedoře.
Stack Overflow se dohodl s OpenAI o zpřístupnění obsahu Stack Overflow pro vylepšení OpenAI AI modelů.
AlmaLinux byl vydán v nové stabilní verzi 9.4 (Mastodon, 𝕏). S kódovým názvem Seafoam Ocelot. Přehled novinek v příspěvku na blogu a v poznámkách k vydání.
Před 50 lety, 5. května 1974 v žurnálu IEEE Transactions on Communications, Vint Cerf a Bob Kahn popsali protokol TCP (pdf).
Bylo vydáno do češtiny přeložené číslo 717 týdeníku WeeklyOSM přinášející zprávy ze světa OpenStreetMap.
Byla vydána (Mastodon, 𝕏) nová stabilní verze 2.10.38 svobodné aplikace pro úpravu a vytváření rastrové grafiky GIMP (GNU Image Manipulation Program). Přehled novinek v oznámení o vydání a v souboru NEWS na GitLabu. Nový GIMP je již k dispozici také na Flathubu.
Google zveřejnil seznam 1220 projektů od 195 organizací (Debian, GNU, openSUSE, Linux Foundation, Haiku, Python, …) přijatých do letošního, již dvacátého, Google Summer of Code.
Na základě DMCA požadavku bylo na konci dubna z GitHubu odstraněno 8535 repozitářů se zdrojovými kódy open source emulátoru přenosné herní konzole Nintendo Switch yuzu.
Webový prohlížeč Dillo (Wikipedie) byl vydán ve verzi 3.1.0. Po devíti letech od vydání předchozí verze 3.0.5. Doména dillo.org již nepatří vývojářům Dilla.
O víkendu probíhá v Bostonu, a také virtuálně, konference LibrePlanet 2024 organizovaná nadací Free Software Foundation (FSF).
#!/bin/sh
if [ -n "`pidof thttpd`" ]; then
killall thttpd 2>/dev/null
fi
/opt/sbin/thttpd -C /opt/etc/thttpd.conf
ktory po restarte routra spusti thttpd s danym nastavenim. Obcas sa ale stane (a doteraz neviem preco), ze sa tento proces vypne (mozno spadne sam, neviem..). Rozmyslam nad riesenim problemu a vychadza mi, ze by som mohol do cronjobu spravit, ze kazdu minutu bude kontrolovat, ci bezi proces "/opt/sbin/thttpd -C /opt/etc/thttpd.conf" a ak by nebezal, tak by ho zapol. Prosim Vas, ake riadky by som mal dat do spustaneho cronjobu (suboru?)? diky moc
Řešení dotazu:
#!/bin/bash #Tento spustitelny soubor se ma chovat jako daemon. #Spousti se prikazem, umistenym v /etc/rc.local: #nohup /kde/je/umisteny/tento/mujdemon >&/dev/null& #(`nohup /kde/je/umisteny/tento/mujdemon >/dev/null 2>&1&`) #Ukoncuje se prikazem: #kill $(pgrep mujdemon) >/dev/null 2>&1 #Number SIG Meaning #0 0 On exit from shell #1 SIGHUP Clean tidyup #2 SIGINT Interrupt #3 SIGQUIT Quit #6 SIGABRT Abort #9 SIGKILL Die Now (cannot be trap'ped) #14 SIGALRM Alarm Clock #15 SIGTERM Terminate #How kill sleep trap 'echo stop >/dev/null; kill $(jobs -p)' 0 1 2 3 6 15 log="/opt/mujdemonthttpd_log" logername="thttpd" while true; do sleep 120 logerpid="$(/usr/bin/pgrep -x $logername)" if [ -z "$logerpid" ]; then aktualnicas=`date +"%d.%m.%Y_%H:%M"` echo "$(echo $aktualnicas)_mujdemon_restartoval_thttpd, ktery umrel" >>"$log" /opt/etc/init.d/S80thttpd >/dev/null 2>&1 fi done Nebo by stačilo jen: #!/bin/bash #Tento spustitelny soubor se ma chovat jako daemon. #Spousti se prikazem, umistenym v /etc/rc.local: #nohup /kde/je/umisteny/tento/mujdemon >&/dev/null& #Ukoncuje se prikazem: #kill $(pgrep mujdemon) >/dev/null 2>&1 #How kill sleep trap 'echo stop >/dev/null; kill $(jobs -p)' 0 1 2 3 6 15 while true; do sleep 120 /opt/etc/init.d/S80thttpd >/dev/null 2>&1 done
while true; ...
asi bude stačit.
Celá šílená konstrukce by se vyřešila použitím fungujícího initu, konkrétně tedy systemd, který hlídá spuštěné služby a umí je restartovat, když spadnou (Restart=on-failure)To sa už nerobí pomocou inittab?
Valid actions for the action field are: respawn The process will be restarted whenever it terminates (e.g. getty).
thttpd -D
init
jednoducho čaká na SIGCHLD
od child-procesu a ak ten child-proces spustil pre riadok v inittabe, ktorý má respawn
, tak ten child pustí znova. Z toho hľadiska je jedno, či ten child process skončí normálne, alebo nie.
#!/bin/bash # Service name while true; do SERVICE=“vlc“ SPHINXPID=$(pgrep $SERVICE) if [[ -z "$SPHINXPID" ]]; then # Not run! vlc else # All is OK echo „$SERVICE running.“ fi unset SPHINXPID unset SERVICE sleep 1 done
Tiskni Sdílej: