LINUX.ORG.RU

mkfifo + php


0

0

Почему это в bash работает:

=== Cut ===
#!/bin/bash

mkfifo inp
mkfifo out
./ss < inp > out &
echo "dupa" > inp
cat out
=== Cut ===

где ss:

=== Cut ===
#!/bin/bash

read x
echo $x
=== Cut ===

А тоже самое в php создает pipe'ы и висит:

=== Cut ===
<?php

system("mkfifo inp");
system("mkfifo out");
system("./ss < inp > out &");
system("echo 'dupa' > inp");
system("cat out");

?>
=== Cut ===

?

Права на директорию с этим безобразием rwx-rwx-rwx. На компе на котором надо это запускать нету proc_open() в php и я хотел читать в named pipes. Но как бы я не крутил туда (пробовал posix_mkfifo(), писал после fopen(), писал через system() и т.д. и т.п.) сюда оно просто виснет. Создает pipe'ы и виснет. А нужны именно 2-сторонние pipe'ы.

Уже даже не знаю куда копать. Тупик. Помогите plz.

omg вот так работает.
что за ужас, кто придумал это php.

<?php

system("mkfifo inp");
$handle = popen("./ss < inp", "r");
system("echo 'dupa' > inp");
$zz = fgets($handle, 4096);
unlink("inp");
echo $zz;

?>

dissident ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.