2016-12-16 24 views
0

Есть ли Linux эквивалент fork1 из Solaris? В справочных страницах Solaris говорится: вызов fork() идентичен вызову fork1();, только вызывающий поток реплицируется в дочернем процессе. Это поведение, заданное POSIX для fork().эквивалент Linux fork1 of solaris

+0

Возможно, что-то можно эмулировать с помощью общего системного вызова '' clone' Linux '' (http://man7.org/linux/man-pages/man2/clone.2.html) (который является базой как ' fork' и 'pthread_create' в Linux)? –

ответ

1

Per the Linux fork() man page:

...

Обратите внимание на следующие дополнительные пункты:

  • Дочерний процесс создается с одной нитью -The один, который называется fork(). Все виртуальное адресное пространство родителя , реплицированное в дочернем элементе, включая состояния мьютексов, переменные условия и другие объекты pthreads; использование pthread_atfork(3) может быть полезно для решения проблем, которые могут возникнуть.

...

Так как fork() и fork1() на Solaris реплицировать только вызывающий поток в дочернем процессе, вызов Linux fork() будет эквивалентом.