Portál AbcLinuxu, 16. listopadu 2025 02:56
... exec(..)nebo
..
switch (pid = fork()) {
case -1:
case 0:
exec(..);
default:
waitpid(pid, &status, 0);
return WEXITSTATUS(status);
}
Kdyby to mělo způsobit nějaké problémy, způsobí je to nejspíš i v tom potomkovi (což je téměř identický proces). Naopak, má to své výhody, např. že image původního procesu nebude celou dobu zbytečně zaclánět v paměti.
Je to tedy způsob, jakým se to bežně dělá?
Ano, např. pokud mne paměť neklame, při přihlašlování uživatele takto getty spouští login a login takto spouští shell.
exec() uklidil, co potřebujete. Předpokládám, že tu funkci voláte z vlastního popudu, ne jako reakci na nějakou neočekávanou událost, takže na to máte dost klidu.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.