我使用php exec()来执行shell脚本,语句是exec(“nohup bash -x script&> log.tmp&”)。
在shell脚本中我使用fifo:
**
PROCESS_NUM=50
mkfifo $dir/fifo_tmp
chmod 777 $dir/fifo_tmp
exec 7<> $dir/fifo_tmp
echo "pid:" $$
for ((i=0;i<$PROCESS_NUM;i++))
do
echo "pid:" $$
echo -ne "$i\n" 1>&7
echo "status : $?"
echo "Info : put data to pipe $i times!"
done
for ((i=0;i<$PROCESS_NUM;i++))
do
echo "pid:" $$
read -u7 k
echo "k:$k"
done**
但是有些不对劲!我把50个数字放到fifo文件中,而我只能从fifo文件中得到0和46!我直接使用shell时运行这个脚本!
调试信息: **
我花了很多时间,但它不起作用!请帮帮我!
提前致谢!