автоматически запускать netcat на localhost и remote-host и держать его активным

нашел ответ by @jeremytrimble on Stack Overflow, который объясняет, как вы можете прочитать файл FIFO по сети.

интересно, можно ли автоматически запускать эти команды netcat, например, в файле crontab (@reboot nc ...). Как мне сохранить их живыми или перезапустить после их убийства?

Host1$ mkfifo Host1_named_pipe
Host1$ nc -l 1234 > Host1_named_pipe

Host2$ mkfifo Host2_named_pipe
Host2$ nc Host1 1234 < Host2_named_pipe

теперь, когда вы запускаете программу на Host2 и отправляете ее вывод на
Host2_named_pipe, что на выходе выйдет из Host1_named_pipe на
Host1.

10
задан Community
18.05.2023 13:26 Количество просмотров материала 3494
Распечатать страницу

1 ответ

на сервере, который всегда подключен используйте это в crontab:

@reboot nc -k -l 1234 < /tmp/fifo.fifo

на клиенте, который не всегда находится в сети или включен, используйте следующую команду:

nc -d $IP_OF_SERVER 1234 > /tmp/fifo.fifo & $SOME_COMMAND

сервер всегда слушает соединение по указанному порту (благодаря параметру-k), клиент просто подключается к серверу, когда ему нужно.

Я использую это для MPD и его визуализатора FIFO. MPD работает на удаленном хосте, но мой клиент MPD работает локально (я использую ncmpcpp).

это важная часть ncmpcpp config на локальном хосте:

mpd_host = "$IP_OF_SERVER"
visualizer_fifo_path = "/tmp/fifo.fifo"

это важная часть конфигурации mpd на удаленном сервере:

audio_output {
        […]
        path    "/tmp/fifo.fifo"
        […]
}

запуск команды 'nc' на моей локальной машине, кажется, использует очень большое количество ресурсов ... ~100% моей производительности процессора.

0
отвечен fooness 2023-05-19 21:14

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх