我写了一个简单的脚本echo
-es其PID:
#/bin/bash
while true; do
echo $$;
sleep 0.5;
done
我3844
在一个终端上运行上述脚本(反复说),并尝试在另一终端上运行tail
文件描述符:
$ tail -f /proc/3844/fd/1
它不会在屏幕上打印任何内容,并挂起直到^c
。为什么?
另外,所有STD文件描述符(IN / OUT / ERR)都链接到相同的点:
$ 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。
如果您认为此问题属于SO或SU而不是UL,请告知。