JM プロジェクトは、主に Linux 関連のマニュアルページの日本語ページを翻訳・公開しています。
... ( feature_test_macros (7) 参照): vfork (): glibc 2.12 以降: (_XOPEN_SOURCE >= 500) && ! (_POSIX_C_SOURCE >= 200809L) || /* glibc 2.19 以降: */ _DEFAULT_SOURCE || ... glibc 2.19 以前: */ _BSD_SOURCE glibc 2.12 より前: _BSD_SOURCE || _XOPEN_SOURCE >= 500 説明 規格の説明 (POSIX.1 より引用) vfork () 関数は fork (2) と同じ働きをするが、 vfork () で作成されたプロセスが vfork () からの返り値を格納している pid_t 型の変数 ... 以外を変更したり、 vfork () を呼び出している関数から return したり、 _exit (2) や exec (3) 族の関数をコールする前に他の関数をコールした場合の動作が ... ... LONE_UNTRACED が指定されると、 trace を行っているプロセスは この子プロセスに CLONE_PTRACE を適用することができない。 CLONE_VFORK (Linux 2.2 以降) CLONE_VFORK が設定された場合、 ( vfork (2) と同様に) 子プロセスが execve (2) または _exit (2) によって仮想 ... メモリーを解放するまで、呼び出し元のプロセスの実行は停止される。 CLONE_VFORK が設定されていない場合、 clone () 呼び出し後は、呼び出し元のプロセスと子プロセスの 両方がスケジュール対象となり、アプリケー ... ... LONE_UNTRACED が指定されると、 trace を行っているプロセスは この子プロセスに CLONE_PTRACE を適用することができない。 CLONE_VFORK (Linux 2.2 以降) CLONE_VFORK が設定された場合、 ( vfork (2) と同様に) 子プロセスが execve (2) または _exit (2) によって仮想 ... メモリーを解放するまで、呼び出し元のプロセスの実行は停止される。 CLONE_VFORK が設定されていない場合、 clone () 呼び出し後は、呼び出し元のプロセスと子プロセスの 両方がスケジュール対象となり、アプリケー ... ... LONE_UNTRACED が指定されると、 trace を行っているプロセスは この子プロセスに CLONE_PTRACE を適用することができない。 CLONE_VFORK (Linux 2.2 以降) CLONE_VFORK が設定された場合、 ( vfork (2) と同様に) 子プロセスが execve (2) または _exit (2) によって仮想 ... メモリーを解放するまで、呼び出し元のプロセスの実行は停止される。 CLONE_VFORK が設定されていない場合、 clone () 呼び出し後は、呼び出し元のプロセスと子プロセスの 両方がスケジュール対象となり、アプリケー ... ... LONE_UNTRACED が指定されると、 trace を行っているプロセスは この子プロセスに CLONE_PTRACE を適用することができない。 CLONE_VFORK (Linux 2.2 以降) CLONE_VFORK が設定された場合、 ( vfork (2) と同様に) 子プロセスが execve (2) または _exit (2) によって仮想 ... メモリーを解放するまで、呼び出し元のプロセスの実行は停止される。 CLONE_VFORK が設定されていない場合、 clone () 呼び出し後は、呼び出し元のプロセスと子プロセスの 両方がスケジュール対象となり、アプリケー ... ... ルを呼ぶのを避けるためである。 通常は、このキャッシュ処理が見えることはないが、 キャッシュ処理が正しく働くためには fork (2), vfork (2), clone (2) のラッパー関数でのサポートが必要である。 アプリケーションがこれらのシステムコールを呼び出す際に、 glibc のラ ... ... ルを呼ぶのを避けるためである。 通常は、このキャッシュ処理が見えることはないが、 キャッシュ処理が正しく働くためには fork (2), vfork (2), clone (2) のラッパー関数でのサポートが必要である。 アプリケーションがこれらのシステムコールを呼び出す際に、 glibc のラ ... ... ることができる。 実行コンテキストの一部、たとえばマウント名前空間 (mount namespace) などは、新しいプロセスを fork (2) または vfork (2) を使って生成したときに、暗黙のうちに共有される。 一方、仮想メモリーなどは、 clone (2) を使ってプロセスやスレッドを生成 ... execvp(argv[optind], &argv[optind]); errExit("execvp"); } 関連項目 unshare (1), clone (2), fork (2), kcmp (2), setns (2), vfork (2), namespaces (7) Linux カーネルソース内の Documentation/userspace-api/unshare.rst (Linux 4.12 より前では Documentation/ ... ... 以降のカーネルで指定すると、 アクティブ/非アクティブなメモリの表示する。 -f ブート後の fork 数を表示する。 これには fork, vfork, clone システムコールが含まれ、 生成されたタスク数と等しい。 各プロセスは、スレッドの使用数によって、1 つ以上のタスクで表現 ... ... ラーを起動する。 例 pipe (2) および wait (2) を参照。 関連項目 clone (2), execve (2), exit (2), setrlimit (2), unshare (2), vfork (2), wait (2), daemon (3), pthread_atfork (3), capabilities (7), credentials (7) この文書について この man ページは Linux ... 日本語の文書やマニュアルを配布している個人/プロジェクトへのリンクです。