ADDENDUM: проблема в следующем вопросе объясняется командой SECOND . Когда я комментирую второй оператор, первый работает как ожидалось и дает ожидаемые результаты. : s
Мне нужно было запустить две команды терминала из PHP SIMULTANEOUSLY, и ничто не решало мою проблему (как вы можете видеть здесь и здесь , если хотите). Первая команда должна запустить Tshark в течение 5 секунд и захватить сетевой трафик (пакеты). Вторая команда должна была генерировать некоторые сетевые пакеты и отправлять их. Вся идея состоит в том, что сетевые пакеты, создаваемые второй командой, должны быть захвачены Tshark, запущенным первой командой.
Другими словами, мне нужно было запустить Tshark в фоновом режиме, и, не дожидаясь его завершения, мне нужно было запустить вторую команду.
Наконец, я прочитал где-нибудь, если мы закончим команду терминала с помощью &
, команда запускается в BACKGROUND , и мы можем продолжить выполнение других команд на переднем плане. Я думал, что это РЕШЕНИЕ к моей проблеме!
Затем я написал следующий скрипт.
ПРОБЛЕМА:
Когда я запускаю этот скрипт в браузере, веб-страница сохраняет LOADING, и загрузка никогда не заканчивается. Кроме того, по-видимому, tshark продолжает работать на фоне захвата пакетов, вместо того, чтобы останавливаться через 5 секунд. Я ЕСМЬ СКАЗАЛ ЭТО, ПОТОМУ ЧТО ПАКЕТЫ СОХРАНИТЬ, ДОБАВЛЯЮТСЯ В ФАЙЛАХ CAPTURE ( capture.pcap
и capture.txt
– файлы, в которых хранятся пакеты, см. Команду в скрипте), ЕСЛИ Я НЕ РАЗМЕЩАЮСЬ ЗАГРУЗИТЬ ВЕБ-САЙТУ В ПРОСМОТРЕ.
Кроме того, когда я вручную останавливаю загрузку веб-страницы и открываю файл capture.pcap
в wirehark, я вижу, что пакеты, которые должны были быть отправлены ONCE второй командой, были отправлены сотнями раз.
ВОПРОСОВ:
Означает ли это, что обе команды запускаются снова и снова и снова, как в бесконечном цикле?
В скрипте нет петель. Тогда почему такое поведение в виде бесконечного цикла? Как я могу это исправить?
СЦЕНАРИЙ:
shell_exec("tshark -a duration:5 -w /var/www/html/Test/capture.pcap -V > capture.txt &"); shell_exec("./mtu -d0 -a43020008 -g43010008 -i987654321 -s'Mary' 2>&1");