タグ

ブックマーク / wiki.bit-hive.com (2)

  • vfork - Linuxの備忘録とか・・・(目次へ)

    vforkは、forkでwaitして子プロセスが終了しての運用をカーネルとして実装するものです。実務上では関数コールするのと同じで、あえて新規タスクとして運用する必要はなさそうですが、execで外部コマンド結果の反映では、呼び出し元プロセスと外部コマンドは差し替わるため、新規プロセスを作成した子プロセスでexecとなり、子プロセスが終了するまで親プロセスは待機する必要があり、vforkはそれ故の実装でないかと。 [root@localhost c]# cat vfork.c #include <stdlib.h> #include <stdio.h> #include <fcntl.h> void fork_fun() { int fd; sleep(1); fd = open("babakaka.txt", O_RDWR | O_CREAT); } void main(int argc,

    tyru
    tyru 2014/09/22
  • BINDオプションでのmount - Linuxの備忘録とか・・・(目次へ)

    mount --bindは、シンボリック/ハードリンクと同じで、リンク元をリンク先から参照するものです。シンボリック/ハードリンクはリンク先inodeで実装され、mount --bindは、bind元ディレクトリをmnt.mnt_rootとするバーチャルなデバイスファイルとし、そのファイルシステムをbind先ディレクトリにmountする事で実装します。 dev_nameが接続元ディレクトリ、dir_nameが接続先ディレクトリです。 SYSCALL_DEFINE5(mount, char __user *, dev_name, char __user *, dir_name, char __user *, type, unsigned long, flags, void __user *, data) { int ret; char *kernel_type; char *kernel_d

    tyru
    tyru 2011/09/01
    mount bind: シンボリックリンクと同じようなことができる / シンボリックリンクと違うのは、chrootで/を変更しても環境外へのアクセスができる / via [Lxc-users] Is it possible to create symbolic links between different containers
  • 1