[20190329]grep与管道文件.txt
--//同事使用grep查询一个文件夹包含特定字符的文件.执行马上hang在哪里,没有任何显示.
--//跟踪发现实际文件夹里面包含管道文件,导致grep该文件时挂起.
--//重复演示看看.
$ mkfifo foo
$ grep -r break *
--//挂起!!
$ ps -ef |grep brea[k]
oracle 38750 28351 0 16:13 pts/2 00:00:00 grep -r break bbed bbed_old foo gdb python test1 test2 test3 test4
--//进程号38750.使用strace跟踪发现.
$ strace -f -p 38750
Process 38750 attached - interrupt to quit
open("foo", O_RDONLY
--//在打开foo文件时挂起.
$ find . -name "foo" -ls
9209309 0 prw-r--r-- 1 oracle oinstall 0 Mar 29 16:11 ./foo
--//取消执行删除foo文件后,一切ok.
$ rm foo
/bin/rm: remove fifo `foo'? y
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/267265/viewspace-2639755/ ,如需转载,请注明出处,否则将追究法律责任。