#include <unistd.h>#include <stdlib.h>int main(int argc, char* argv[]){ int exitCode=0; exitCode=daemon(0,0); if(exitCode!=0){ exit(exitCode); } exitCode=execv(argv[1], argv+1); exit(exitCode);}
Це я прочитав і зрозумів. От тільки не збагну як цим користуватись. Ось по аналогії із тим-же AfxBeginThread мені наприклад потрібно запустити якусь функцію у паралель із тим, хто її запускає. тобто є пойнтер на функцію, як запустити її в паралелі і далі продовжувати займатись своїми справами?
Приклад то зрозумілий але чи неможна було від'єднатись від потоків вводу/виводу без виклику fork() і отримати такий-же результат ?
А якщо я захочу зробити багатопотокову програму де власне різні потоки повинні виконувати різні функції тоді як?
і ще, знову ж таки процес викликальник містить виклик функції exec() але сам її не виконує
PS: власно про fork() є розписано, а от як ним правильно, чисто алгоритмічно, користуватись я щось не знайшов.
man pthread_create(на рівні системи - це теж fork() але з іншими прапорцми і це від програмера приховано)