Я использую Windows 7, Ruby 1.9.2, SciTE, Outpost Pro 2009 и NetBalancer.
Написание Ruby-программ в SciTE Я нажимаю Ctrl+Break
чтобы убить их. Этот способ разработан, чтобы быть простым, быстрым и надежным. Но теперь я написал программу, которую никогда не писал раньше, и обнаружил проблему.
Программа собирает сайт в 10 тем (Thread.new
) с помощью open-uri
. Каждый поток загружает один маленький файл. Некоторые URL имеют Timeout::Error
.
Когда я нажимаю Ctrl+Break
, процесс ruby.exe
умирает (я вижу это также в диспетчере задач), и SciTE готов к следующему F5
. Outpost также не показывает никакой сетевой активности.
НО! Значок NetBalancer в трее показывает, что моя сеть максимально загружена - 512 кбит / с. Когда я открываю NetBalancer, я вижу зеленую линию, показывающую чистую нагрузку, но в списке нет процесса поедания трафика, поэтому я не знаю, что мне нужно убить, чтобы остановить его.
И когда я делаю netstat -o
, я вижу это:
TCP 192.168.1.2:53629 server2:http FIN_WAIT_1 916
TCP 192.168.1.2:53630 server2:http FIN_WAIT_2 916
TCP 192.168.1.2:53631 server2:http FIN_WAIT_2 916
TCP 192.168.1.2:53632 server2:http FIN_WAIT_2 916
TCP 192.168.1.2:53648 server2:http FIN_WAIT_2 916
TCP 192.168.1.2:53664 server2:http FIN_WAIT_2 916
TCP 192.168.1.2:53667 server2:http FIN_WAIT_2 916
TCP 192.168.1.2:53676 server2:http FIN_WAIT_2 916
Похоже, я просто должен использовать taskkill
, но:
C:\Windows\system32>taskkill /PID 916
Ошибка: Не удается найти процесс "916".
(Перевод: не удается найти процесс "916")
Невидимый процесс продолжает кушать весь мой сетевой канал в течение нескольких минут и затем останавливается. Соединения в netstat
также исчезают. Но я даже не понимаю, как, почему и когда это останавливается, потому что полная загрузка должна длиться около часа. Так он умирает самопроизвольно?
В любом случае, я хочу иметь способ убить этого невидимого поедателя.