Не уверен, что это возможно, но вот оно. У меня есть простой сервер, на котором несколько клиентов могут выполнять программу. Каждый раз, когда клиент выполняет сценарий для запуска программы, запускается новый экземпляр программы. Теперь, когда клиент останавливает выполнение программы через другой скрипт, экземпляр программы уничтожается. Проблема в том, что если другой клиент находится на сервере, в то же время выполняя программу, этот экземпляр также будет убит. Есть ли способ подключить конкретный экземпляр к конкретному клиенту?
Вот подробнее. Сервер используется для потоковой передачи мультимедиа из Интернета. У меня есть потоковые устройства, подключенные к телевизорам. Когда конкретный канал выбран, он отправляет сигнал на сервер, который, в свою очередь, запускает несколько сценариев, один из которых является сценарием для запуска процесса преобразования видео с помощью программы под названием ffmpeg. ffmpeg скрывает поток, сохраняет его в папку на сервере, делая его доступным для потокового устройства/телевизора. Каждый раз, когда пользователь запускает канал, запускается экземпляр ffmpeg, поскольку он преобразует другой поток. Как только пользователь заканчивает просмотр, устройство отправляет сигнал обратно на сервер через php-скрипт, который, в свою очередь, запускает скрипт под названием cleanup. Сценарий очистки представляет собой bat-файл, который убивает ffmpeg и удаляет файлы, которые больше не нужны. Все работает отлично, за исключением случаев, когда один человек решает прекратить просмотр, а другой продолжает. Я не знаю, как определить разницу между каждым экземпляром ffmpeg. Я не хочу, чтобы он убивал все экземпляры, только тот, который подключен к одному конкретному потоку, который должен закончиться. У меня есть возможность получить IP-адрес каждого устройства, когда пользователь сначала выбирает канал. Есть ли способ связать IP с конкретным экземпляром?