Перейти к содержанию

dssoft

Members
  • Постов

    1
  • Зарегистрирован

  • Посещение

    Никогда

Contact Methods

  • ICQ
    176924747

Profile Information

  • Location
    Украина
  • Interests
    Programming (C/C++, PHP, HTML), Network Security, Games (Quake III Arena)

Достижения dssoft

  1. На днях столкнулся с такой вот проблемой. Стоит: Red Hat Linux release 9 (Shrike) + Apache 2.0.40. Есть скрипт на PHP, который с помощью exec() запускает сишную прогу myprogram. myprogram делает fork() и работает как демон. Открывает при работе только одно исходящее соединение, порты не слушает. Запускаю через браузер свой PHP-скрипт. Он запускает сишную программу. Все ok, все пашет. Затем мне понадобилось перезапустить Web-сервер. Делаю: service httpd stop. Но после того, как я обратно сделал service httpd start, получил ошибку: make_sock: could not bind to address 0.0.0.0:443 no listening sockets available, shutting down Хм, 5 минут назад все ж отлично работало. Делаю netstat -nlp и вижу такую картину: Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name ... tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 14656/myprogram ... Т.е. myprogram с правами apache умудрилась занять 443-й порт, который занимал Web-сервер! Причем, если запустить две копии myprogram, она займет порты 80 и 443. После kill'а для myprogram все заработало. Как можно побороть это явление? И как оно вообще объясняется с научной точки зрения? Спасибо.
×
×
  • Создать...