Dnes a zítra probíhají Arduino Days 2026. Na programu je řada zajímavých přednášek. Sledovat je lze od 17:00 na YouTube. Zúčastnit se lze i lokálních akcí. Dnes v Poličce v městské knihovně a zítra v Praze na Matfyzu.
Byla vydána beta verze Ubuntu 26.04 LTS s kódovým názvem Resolute Raccoon. Přehled novinek v poznámkách k vydání. Dle plánu by Ubuntu 26.04 LTS mělo vyjít 23. dubna 2026.
Byla vydána aktualizována Příručka pro začínající wikipedisty a wikipedistky (pdf).
Ubuntu plánuje v budoucích verzích nahradit tradiční nástroje pro synchronizaci času (chrony, linuxptp a gpsd) novým, v Rustu napsaným ntpd-rs, který nabídne vyšší bezpečnost a stabilitu.
Byla vydána nová verze 7.6 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Správce hesel KeePassXC byl nahrazen správcem hesel GNOME Secrets. Bitcoinová peněženka Electrum byla povýšena na verzi 4.7.0. Tor Browser byl povýšen na verzi 15.0.8. Další novinky v příslušném seznamu.
Chris Down v obsáhlém článku „vyvrací mýty o zswap a zram“, vysvětluje, co vlastně dělají a jaké jsou mezi nimi rozdíly. Doporučuje vyhýbat se zram na serveru a bez OOM.
Porota v Los Angeles shledala firmy Google a Meta odpovědnými v přelomovém soudním sporu, který se týká závislosti na sociálních sítích; firmy musí zaplatit odškodné tři miliony dolarů (63,4 milionu Kč). Společnosti, které s verdiktem nesouhlasí, čelily obvinění, že své sociální sítě a platformy záměrně navrhly tak, aby si na nich děti vypěstovaly závislost. Porota došla k závěru, že technologické společnosti při navrhování a
… více »Jelikož vývojáři editorů Vim a Neovim začali při vývoji využívat LLM, Drew DeVault se rozhodl forknout Vim a vytvořil projekt Vim Classic. Vychází z Vimu 8.2.0148, tj. těsně před zavedením Vim9 skriptování.
Byla vydána nová verze 0.56 open source počítačové hry Unvanquished (Wikipedie), forku počítačové hry Tremulous. Instalovat ji lze také z Flathubu.
FreeCAD (Wikipedie), tj. svobodný multiplatformní parametrický 3D CAD, byl vydán ve verzi 1.1 (YouTube). Po roce a čtyřech měsících od předchozí verze 1.0. Přehled novinek i s náhledy v poznámkách k vydání.
Ř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 sleepem. 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: