Americký výrobce čipů Nvidia získal od vlády prezidenta Donalda Trumpa souhlas s prodejem svých pokročilých počítačových čipů používaných k vývoji umělé inteligence (AI) H20 do Číny. Prodej těchto čipů speciálně upravených pro čínský trh by tak mohl být brzy obnoven, uvedla firma na svém blogu. Americká vláda zakázala prodej v dubnu, v době eskalace obchodního sporu mezi oběma zeměmi. Tehdy to zdůvodnila obavami, že by čipy mohla využívat čínská armáda.
3D software Blender byl vydán ve verzi 4.5 s prodlouženou podporou. Podrobnosti v poznámkách k vydání. Videopředstavení na YouTube.
Open source webový aplikační framework Django slaví 20. narozeniny.
V Brestu dnes začala konference vývojářů a uživatelů linuxové distribuce Debian DebConf25. Na programu je řada zajímavých přednášek. Sledovat je lze online.
Před 30 lety, tj. 14. července 1995, se začala používat přípona .mp3 pro soubory s hudbou komprimovanou pomocí MPEG-2 Audio Layer 3.
Výroba 8bitových domácích počítačů Commodore 64 byla ukončena v dubnu 1994. Po více než 30 letech byl představen nový oficiální Commodore 64 Ultimate (YouTube). S deskou postavenou na FPGA. Ve 3 edicích v ceně od 299 dolarů a plánovaným dodáním v říjnu a listopadu letošního roku.
Společnost Hugging Face ve spolupráci se společností Pollen Robotics představila open source robota Reachy Mini (YouTube). Předobjednat lze lite verzi za 299 dolarů a wireless verzi s Raspberry Pi 5 za 449 dolarů.
Dnes v 17:30 bude oficiálně vydána open source počítačová hra DOGWALK vytvořena v 3D softwaru Blender a herním enginu Godot. Release party proběhne na YouTube od 17:00.
McDonald's se spojil se společností Paradox a pracovníky nabírá také pomocí AI řešení s virtuální asistentkou Olivii běžící na webu McHire. Ian Carroll a Sam Curry se na toto AI řešení blíže podívali a opravdu je překvapilo, že se mohli přihlásit pomocí jména 123456 a hesla 123456 a získat přístup k údajům o 64 milionech uchazečů o práci.
Byla vydána (𝕏) červnová aktualizace aneb nová verze 1.102 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.102 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
Zdravím,
chtěl bych se zeptat jestli by mě někdo neporadil jak udělat aby se aplikace spustila pod předem nastaveném PID ... mám administraci serverů pro gta samp.. a potřebuji nějak udělat zapínání a vypínání serverů a napadlo mě na to použít v php příkaz system("PRIKAZ"); ,ale nevim jak predem nastavit ten PID .. a nebo alespon jak v PHP zjistit jakej PID ten spustenej program má.
Předem děkuji. Michael Fanta
Tohle se řeší tak, že server (nebo skript, který ho startuje) při startu uloží do souboru své PID (v linuxu se k tomu běžně používá adresář /var/run/) a ty si pak z toho souboru načteš PID a můžeš zasílat signály.
Jo takle.. a neporadil byste trošku blíže? Přece jenom já dělám s linuxem teprve chvilku. Třeba kdybyste byl tak hodnej a nějakej příklad uvedl. Byl bych moc vděčný. Určitě nejsem jediný, ale věci lépe chápu spříkladu.
PID procesu sa dá zistiť shell príkazom pidof
, kde ako parameter ide názov príkazu. Napríklad:
araxon@lighthouse ~ $ pidof firefox-bin
6217
To sa potom dá vložiť do iného príkazu cez operátor `:
araxon@lighthouse ~ $ kill -15 `pidof firefox-bin`
V php potom cez shell_exec takto: shell_exec("kill -15 `pidof firefox-bin`");
Takže jestli to chápu dobře tak to firefox-bin je nazev toho PID ?
No dejme tomu že mám aplikaci samp_7777 a chci kni dat PID 7777 to udělám jak?
zkoušel sem to i takto:
./samp_7777 -PID=777
ale nic
a co pro start třeba nějak takto
/sbin/start-stop-daemon --start -m -p ./samp.pid -b -x samp_7777
a pro kill pak takto
/sbin/start-stop-daemon --stop -p ./samp.pid
PID si nevyberáš, ten Ti pridelí operačný systém. firefox-bin bol názov programu, ktorého PID som chcel zistiť, a napísal som ho len pre ukážku. Ak taký program u Teba nie je spustený tak pidof
nevráti nič.
Tak jinak.. udělal jsem to teda takto:
$pid = shell_exec("pidof samp_7779");
$akce = "kill ".$pid;
echo "PID (".$pid.") - Akce (".$akce.")";
shell_exec($akce);
echo "<p><font color='#008000'>Server vypnut...</font></p>";
Ale nic se neprovede.. nevíte proč? To by mě fakt zajímalo teda proč? :(
A ten program samp_7779 beží pod tým istým užívateľom ako webserver? Zistilo to ten PID? Čo to vypísalo?
Ano .. šak tam mám to echo kde se vypisuje ten PID kterej to zjistí... a pak teprve zadává KILL
Jinak vypsalo se to přesně takto
PID (9667 ) - Akce (kill 9667 )
Jedine co me napada ze to co chces stopnout bezi pod jinym uzivatelem (root nebo neco jineho) nez je apache a tudiz ten kill dat nemuzes.
Kdyz spustis ten kill rucne pod uzivatelem apache (www-data nebo nejaky jiny pouzivany) tak to zabije?
přes ssh ho to zabije... ale když dám top tak je tam user root a apache to samý
Ach jo ted na to kooukám.... apache běží přes usera nobody :(
515 nobody 15 0 27532 16m 5476 S 0 3.3 0:04.62 httpd
Dal sem si tam
echo shell_exec("groups")."<br>";
echo shell_exec("whoami")."<br>";
a vyplsalo mi to:
nogroup
nobody
tak jde nejak spustit ty servery pod temito udaji?
Vyřešeno.. použil jsem
su nobody -c ./samp_7777
ale ještě bych potřeboval jestli by mě někdo neporadil jak by měl vypadat script co by tohle zadaval.. např ... start.sh
a tam aby se provedlo
su nobody -c ./samp_7777
Takže mám tento script: start_7777.sh
#!/bin/bash
cd /root/servery/7777
su nobody -c ./samp_7777 &
a pouštím ho pomocí
shell_exec("./start_7777.sh");
nevíte pls někdo proč to nejde takto spustit? :)
Má ten skript práva pro spuštění (chmod +x start_7777.sh
)?
BTW. proč to nejde takto spustit bys nám spíš měl říct ty podle nějaké chybové hlášky nebo výpisu z logu :)
A proč tam máš vlastně to su nobody
, když to spouštíš z PHP pod Apache a Apache už pod nobody běží, jak píšeš výše?
Nejak jsem nepochopil proc potrebujete spoustenemu procesu prirazovat konkretni PID, navic si myslim (mozna se pletu) ze PID prirazuje samo jadro podle toho jak se jednotlive procesy spousteji a vy ho neovlivnite, max. ho muzete zjistit ...
Asi spise hledate UID (user ID) nebo GID (group ID) a ne PID (proces ID)
Tohle už je vyřešeno :)
Teďka se snažím příjít na tuhle chybu:
když kliknu na start serveru tak mě to server spustí ale apache čeká dokud se server nevypne.. až server vypne tak apache pokračuje v akci. :(
Ten server by se měl nějak daemonizovat. Měl by to umět sám - tato vlastnost se obecně od serverů celkem očekává Takže se zkus podívat po nějakém přepínači v příkazové řádce. Nebo si můžeš pomoci nějakým trikem - např.
nohup
(nevím jestli bude fungovat), nebo teď mě napadá konstrukce typu "(su nobody -c ./samp_7777 &)
".
Vyřešeno .. díky Messa :)
Nakonec stačilo jen přesměrovat standardní a chybový výstup do /dev/null a spustit skript na pozadí:
<?php
system("./skript.sh 2>/dev/null >/dev/null &");
?>
Nejpravděpodobnější vysvětlení - výstupy jsou napojeny na rouru, kterou čte PHP (jak jinak) a PHP považuje příkaz za dokončení evidentně zavřením této roury. Samozřejmě je nutné, aby se proces se shellem ukončil, proto ten ampersand.
Tiskni
Sdílej: