V Praze probíhá Flock 2026, tj. konference pro přispěvatele a příznivce Fedory. Přednášky lze sledovat také na YouTube.
Node-RED (Wikipedie, GitHub), webová aplikace postavená na Node.js pro vizuální programování a propojování hardwarových zařízení, API a online služeb, byl vydán ve verzi 5.0. Přehled novinek v příspěvku na blogu.
Byla vydána nová verze 3.27.0 FreeRDP, tj. svobodné implementace protokolu RDP (Remote Desktop Protocol). Opraveno bylo 5 zranitelností.
Řídící výbor GCC schválil záměr do GCC začlenit backend WebAssembly.
Po 9 týdnech vývoje od vydání Linuxu 7.0 oznámil Linus Torvalds vydání Linuxu 7.1. Přehled novinek a vylepšení na LWN.net: první a druhá polovina začleňovacího okna a časem také na Linux Kernel Newbies.
Cheat Engine (Wikipedie) je s verzí 7.7 k dispozici už také pro Linux. Jedná se o proprietární skener/debugger paměti používaný především k cheatování v počítačových hrách.
Vláda USA nařídila společnosti Anthropic pozastavit přístup k modelům Fable 5 a Mythos 5 pro všechny cizince, včetně zaměstnanců Anthropicu.
Společnost Murena představila (YouTube) novou verzi 4.0 mobilního operačního systému /e/OS (Wikipedie) založeného na Androidu a LineageOS bez aplikací a služeb od Googlu.
V Arch User Repository (AUR) bylo kompromitováno přes 400 opomíjených balíčků (jejich seznam). Útočník do nich začlenil škodlivý npm balíček atomic-lockfile, který krade citlivá data uživatelů. Publikována byla předběžná analýza spouštěného malwaru deps.
Homebrew, správce balíčků nejen pro macOS, byl vydán ve verzi 6.0.0 (seznam změn). Hlavními novinkami jsou bezpečnostní mechanismus tap trust kvůli důvěryhodnosti závislostí, vylepšení sandboxingu na Linuxu, interní JSON API nebo zlepšení výkonu.
#!/bin/bash if [ podminky ]; then echo "Server je jiz spusteni!" else PODMINKA NA SPUSTENI VE SCREENU S PRIRAZENYM PIDEMAsi bych si to predstavoval jako neco ve smyslu "screen -A -m -d -S `PRIKAZ`
ps nebo /proc/<pid>/*. Nějak se ty aplikace nejspíš liší, tak se zamyslete čím a pak je podle toho rozlište v té vaší podmínce. Nejdříve si zjistěte pidof aplikace, a pak pro získané pids zjistěte, jestli je to ta co myslíte, nebo není.
(Nevím bohužel co myslíte tím "jiný core" a "jiné umístění"). Pokud třeba startovací adresář tak to by snad šlo také zjistit z prostředí.
#!/bin/bash
MANGOSDIR=/home/mangos/server
if (ps -C mangos-worldd )
then echo "status : OK"
else
echo "status : DOWN"
cd ${MANGOSDIR}/bin
screen -d -m -S session_name ${MANGOSDIR}/bin/mangos-worldd
fi
Obdobne i pro realmd, pokud take mrzne. A nakonec pridat zaznam do cronu aby to treba kazdou minutu kontroloval.
screen je proč přesně? Aby docílil toho, co dělá nohup? Nebo se ten server za běhu interaktivně ovládá a tak na to mám sezení, do kterého se mohu přihlásit?
Nicméně zpět k tazateli: když jste zmínil dvě různé cesty k binárce, tak to bude asi Vaše nejsnazší řešení. Když spustíte s plnou cestou a pak třeba i z ps to vylámete snadno (ps -o cmd).
Vaše konstrukce s podmínkou není problém, prostě si napíšete funkci bezi(identifikator_instance), která bude vracet true/false podle stavu dané instance a podmínka se podle toho zachová.
Pokud byste to mocí mermo chtěl řešit přes PID, musel byste si ho někam pro jednotlivé instance zapisovat při startu (zřejmě /var/run a pak s ním pracovat).
screen se v tomhle pripade pouziva proto, ze ten deamon funguje zaroven jako konzole (neni nutna, ale casto se tak vyuziva).
Kazdopadne zapisovani PID po startu by melo byt v tomto pripade samozrejmosti.
Ale nerozumim tomu proc tam mangos-worldd bezi 2x, pokud na tom serveru jede jediny realm, tak neni duvod, aby tam ten proces byl vicekrat. Pokud je tak pojmenovan ten restartovaci skript, tak to je samozrejme chyba, ten by mel byt napr. mangos-restarter.sh.
/proc/<pid> obou procesů? Nenašel jste žádný rozdíl? Na pid se už vykašlete, tím "přiřadit asi nepude" jsem myslel "přiřadit určitě nepude".
nejak evidoval ten mangos-worldd ktery potrebuju
Jak jsem již řekl, zamyslete se a řekněte, jak rozlišujete vy ten magnos-worldd který potřebujete.
Server je zkompilovaný na stejný verzi a jako /bin pro spusteni je mangos-worldd jenze ten se kompiluje u vsech verzi, tudiz v ps, top je 2x mangos-worldd
Liší se tedy poloha binárky? Může pomoct /proc/<pid>/exe a podobně.
fork() žádné parametry nemá.
Krom toho, že i kdyby to šlo, tak by to byl problém, protože dané pid byste také musel být schopen rezervovat, aby je náhodou nedostalo něco jiného.
Asi na to budete muset jít jinak. Napadají mě dvě varianty:
ps nebo se pohrabat v /proc/<PID/>.
lsof nebo zahrabat v /proc/$$/fd/.
Tiskni
Sdílej: