私はecho
そのPID を示す簡単なスクリプトを書きました。
#/bin/bash
while true; do
echo $$;
sleep 0.5;
done
私は3844
1つのターミナルで上記のスクリプト(何度も何度も言う)を実行してtail
おり、別のターミナルでファイル記述子を試行しています。
$ tail -f /proc/3844/fd/1
画面には何も表示されず、までハングし^c
ます。どうして?
また、すべてのSTDファイル記述子(IN / OUT / ERR)は同じptsにリンクしています。
$ ls -l /proc/3844/fd/
total 0
lrwx------ 1 mg mg 64 sie 29 13:42 0 -> /dev/pts/14
lrwx------ 1 mg mg 64 sie 29 13:42 1 -> /dev/pts/14
lrwx------ 1 mg mg 64 sie 29 13:42 2 -> /dev/pts/14
lr-x------ 1 mg mg 64 sie 29 13:42 254 -> /home/user/test.sh
lrwx------ 1 mg mg 64 sie 29 13:42 255 -> /dev/pts/14
これは正常ですか?
Ubuntu GNOME 14.04を実行しています。
この質問がULではなくSOまたはSUに属していると思われる場合は、教えてください。