Здарова котаны!
Пишу софтину, она слушает tcp порт (9555). Так же она запускает дочерние процессы. Это та же программа, но запущенная с другим аргументом (–backend). Запускаю через QProcess из фреймворка Qt, я не знаю как он там внутри это делает. Дочерние процессы наследуют дескрипторы. Смотри на выхлоп lsof
. Там три программы слушают один и тот же порт. Я почитал и вроде это не баг, а фича. Но мне всё равно это сильно мешает. Как от этого избавиться? Ппц, ну это вообще не в какие ворота.
➜ ~ lsof -i -P -n | grep 9555
retr 136948 ox55ff 7u IPv4 438139 0t0 TCP *:9555 (LISTEN)
retr 136948 ox55ff 8u IPv4 438196 0t0 TCP 127.0.0.1:9555->127.0.0.1:34772 (ESTABLISHED)
retr 137028 ox55ff 7u IPv4 438139 0t0 TCP *:9555 (LISTEN)
retr 137028 ox55ff 8u IPv4 438196 0t0 TCP 127.0.0.1:9555->127.0.0.1:34772 (ESTABLISHED)
retr 137030 ox55ff 7u IPv4 438139 0t0 TCP *:9555 (LISTEN)
retr 137030 ox55ff 8u IPv4 438196 0t0 TCP 127.0.0.1:9555->127.0.0.1:34772 (ESTABLISHED)
➜ ~ ps -Af | grep "retr"
ox55ff 136948 136946 0 16:17 pts/3 00:00:00 /home/ox55ff/projects/builds/program/retr/retr --frontend
ox55ff 137028 136948 0 16:17 pts/3 00:00:00 /home/ox55ff/projects/builds/program/retr/retr --backend
ox55ff 137030 136948 0 16:17 pts/3 00:00:00 /home/ox55ff/projects/builds/program/retr/retr --backend