Po pěti měsících vývoje byla vydána nová verze 0.15.1 programovacího jazyka Zig (GitHub, Wikipedie). Verze 0.15.0 byla přeskočena. Přispělo 162 vývojářů. Přehled novinek v poznámkách k vydání.
Před sedmi lety společnost Valve představila fork projektu Wine s názvem Proton umožňující v Linuxu přímo ze Steamu hrát počítačové hry do té doby běžící pouze ve Windows. Aktuální přehled podporovaných her na stránkách ProtonDB
Společnost DuckDuckGo rozšířila svůj AI chat Duck.ai o GPT-5 mini (𝕏). Duck.ai umožňuje anonymní přístup bez vytváření účtů k několika modelům umělé inteligence. Aktuálně k GPT-4o mini, GPT-5 mini, Llama 4 Scout, Claude Haiku 3.5 a Mistral Small 3.
Marek Tóth v příspěvku DOM-based Extension Clickjacking: Data ve správcích hesel v ohrožení na svém blogu popsal novou clickjacking techniku s několika variantami útoků a otestoval ji proti 11 správcům hesel. Výsledkem bylo nalezení několika 0-day zranitelností, které mohly ovlivnit uložená data desítek milionů uživatelů. Jedno kliknutí kdekoliv na webové stránce kontrolované útočníkem umožňovalo ukrást uživatelská data ze
… více »Na dnešní akci Made by Google 2025 (YouTube) byly představeny telefony Pixel 10 s novým čipem Google Tensor G5 a novými AI funkcemi, hodinky Pixel Watch 4 a sluchátka Pixel Buds 2a.
The Document Foundation oznámila vydání nové major verze 25.8 svobodného kancelářského balíku LibreOffice. Podrobný přehled nových vlastností i s náhledy v poznámkách k vydání (cs) a také na Youtube a PeerTube.
Zeek (Wikipedie), původně Bro, byl vydán v nové major verzi 8.0.0. Jedná se o open source platformu pro analýzu síťového provozu. Vyzkoušet lze online.
Byl vydán Mozilla Firefox 142.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 142 je již k dispozici také na Flathubu a Snapcraftu.
Python Developers Survey 2024, výsledky průzkumu mezi vývojáři v Pythonu organizovaném Python Software Foundation ve spolupráci se společností JetBrains v říjnu a listopadu loňského roku. Zúčastnilo se 30 tisíc vývojářů z 200 zemí. Linux používá 59 % z nich.
Řešení dotazu:
#define NAZEV "out.txt"
int main()
{
FILE *soubor;
soubor = fopen(NAZEV, "a+");
int roura[2];
pipe(roura);
pid_t pid1;
int retcode;
pid1=fork();
if(pid1 == 0) // potomek1
{
close(roura[0]);
printf("Potomek1...\n");
dup2(roura[1], STDOUT_FILENO); // presmerovani výstupu do roury
int i = 0;
while(i < 6)
{
i++;
int a = 2 + i;
int b = 4 + i;
sleep(1);
printf("%d %d\n", a, b);
}
close(roura[1]);
exit(45);
} else if (pid1 < 0)
{
printf("Fork selhal\n");
exit(2);
} else
{
pid_t pid2;
pid2 = fork();
if (pid2 == 0) //potomek 2
{
close(roura[1]);
dup2(roura[0], STDIN_FILENO); //presmerovani výstup roury na svůj standardní vstup
printf("Potomek2...\n");
int i = 0;
while(i < 5)
{
i++;
int c;
int d;
scanf("%d %d", &c, &d);
printf("%d %d\n", c, d);
fprintf(soubor,"%d %d\n", c, d);
}
printf("Potomek2 skoncil\n");
exit(0);
} else if (pid2 < 0)
{
printf("Fork selhal\n");
exit(2);
}else
{ wait(&pid1); //ceka na potomka1
wait(&pid2); //ceka na potomka2
printf("Rodic konci\n");
exit(0);
}
}
exit(0);
}
sigaction
někam poznamená, že přišel signál. Ten proces bude v tu dobu nejspíš viset na sleep
, který příchozí signál přeruší s EINTR
, ale nemusí, takže je vhodné to otestovat i před tím sleep
em. Stačí se pak podívat, jestli byl poznamenán příchod signálu, a pokud ano, tak proces ukončit. Pokud nepotřebujete po přerušení uklidit, tak ukončit proces jde i ze sigaction
pomocí _exit()
.
Mimochodem pokud potřebujete zastavit zapisující proces ze čtecího, stačí ve čtecím procesu tu rouru zavřít. Zapisovací proces pak při pokusu o zápis dostane SIGPIPE
.
Tiskni
Sdílej: