Контекст: у меня есть малина с удаленным VL C, работающим на нем. VL C запускается так
cvlc --force-dolby-surround --play-and-exit --loop --volume-step 256 -I rc --rc-host 192.168.1.10:1250
Я хочу взаимодействовать с этим экземпляром VL C, например, для изменения громкости. На терминале с замазкой все в порядке, если я отправляю следующую команду:
$ echo "volume 80" | nc 192.168.1.10 1250 > /dev/null 2>&1 &
Мне нужно указать > /dev/null 2>&1 &
, в противном случае VL C, пожалуйста, сохраняйте фокус. Это может быть root причина моей проблемы, я не знаю!
На странице PHP я пытаюсь запустить это:
<?php
exec('echo "volume 80" | nc 192.168.1.10 1250 > /dev/null 2>&1 &', $output, $return);
var_dump($output);
var_dump($return);
?>
Команда выполнена правильно, но $output
и $return
пусты. Я думаю, что это нормально, потому что я указываю > /dev/null 2>&1 &
, однако, как было сказано выше, если я не укажу это, приглашение VL C сохранит фокус, и моя страница PHP будет работать бесконечно ...
В во втором случае мне нужно получить информацию с пульта VL C.
$ echo "status" | nc 192.168.1.10 1250
Поэтому я не должен добавлять > /dev/null 2>&1 &
, потому что я хочу возврата! Но в этом случае PHP работает бесконечно
<?php
exec('echo "status" | nc 192.168.1.10 1250', $output, $return);
var_dump($output);
var_dump($return);
?>
, и у меня нет никакой информации о $output
и $return
переменных.
Не могли бы вы мне помочь?
Спасибо!