fcntl():ファイル記述子が変更するすべての魔法はこの関数から来ています
NAMEの
ファイルディスクリプタをfcntlの-操作
概要
#include <unistd.h>
#include <fcntl.h>
int fcntl(int fd, int cmd, ... /* arg */ );
使用される多くのIOは、関数をカプセル化することにより、それによって実装されます。とりあえず詳細な解釈はしませんが、後で追加します。。。
ioctl():デバイス関連のコンテンツ
名前
ioctl-制御デバイス
書式
の#include <sysの/ ioctl.h>
int ioctl(int fd, unsigned long request, ...);
/ dev / fd:現在のプロセスのファイル記述子情報を表示する仮想ディレクトリ
mhr@ubuntu:~/work/linux/sysio/17$
mhr@ubuntu:~/work/linux/sysio/17$ ls -l /dev/fd/
total 0
lrwx------ 1 mhr mhr 64 May 3 03:49 0 -> /dev/pts/4
lrwcx------ 1 mhr mhr 64 May 3 03:49 1 -> /dev/pts/4
lrwx------ 1 mhr mhr 64 May 3 03:49 2 -> /dev/pts/4
lr-x------ 1 mhr mhr 64 May 3 03:49 3 -> /proc/8841/fd
mhr@ubuntu:~/work/linux/sysio/17$
つまり、表示されるファイル記述子情報は、lsコマンドで使用されるファイル記述子です。
現在のプロセスのファイル記述子情報を表示する必要がある場合は、プログラムの実行中に/ dev / fd /を開いて表示する必要があります。