Portál AbcLinuxu, 1. června 2024 15:44

fork

fork (angl. vidlička). Ve vývoji softwaru se takto označuje případ, kdy vývojář vezme kompletní kód již existujícího programu a začne na něm nezávisle vytvářet jiný program (hezky česky "forknutý").

Jinak je fork také volání jádra, které je tradičním způsobem vytváření nových procesů v unixových systémech. Volání fork vytvoří nový proces, který je potomkem volajícího procesu a jeho přesnou kopií. Program zavolá fork jednou, ale vrátí se z něj dvakrát: v původním (rodičovském) procesu a v nově vytvořeném procesu.
#include <sys/types.h>
#include <unistd.h>
#include <stdio.h>
int main()
{
	pid_t pid;
	pid = fork();
	if (pid == 0) {
		printf("Jsem potomek s PID=%d.\n", getpid());
		return 0;
	} else if (pid > 0) {
		printf("Jsem rodic s PID=%d a mam potomka s PID=%d.\n",
			getpid(), pid);
		return 0;
	} else {
		perror("fork() selhal");
		return 1;
	}
}
Chybou programátora nebo i škodolibým záměrem může vzniknout forkbomba - program, který se v nekonečném cyklu neustále forkuje a silně tak zatěžuje systém.

Dokument vytvořil: stativ, 11.8.2006 17:56 | Poslední úprava: michich, 21.3.2009 08:01 | Další přispěvatelé: regnarg, vogo | Historie změn | Zobrazeno: 2161×

Další pojmy: FLOSS - fluxbox - fontconfig - fork - FOSS - FPGA - FPS

Filtr: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.