2014-09-09 2 views
1

У меня есть многопоточное приложение, в котором появляются потоки, запускающие веб-серверы PhantomJS. В программе у меня есть опция, которая завершает (открывает) все открытые webdrivers.Темы с PhantomJS остаются в диспетчере задач даже после удаления

Я использую этот вариант, и все они в конце концов закрываются. Проблема в том, что для всех экземпляров webdriver требуется несколько секунд, чтобы исчезнуть из диспетчера задач, даже если все драйверы расположены. Это может занять до минуты, в зависимости от того, сколько потоков я начал. Есть ли способ устранить экземпляр из системного трея также в то же время, когда выкладывается webdriver?

+0

То же самое для меня. Подписываетесь ли вы на 'process.OutputDataReceived' и' process.ErrorDataReceived'? –

+0

Нет Я не подписался; Я избавился от всех фоновых работников и использовал потоки на всем пути; Затем я просмотрел системный трей и убил их, и они мгновенно ушли. – Xandarian

ответ

0

Все эти темы были запущены BackgroundWorker. Вместо этого я использовал другой поток, и проблема исчезла. Затем вы можете сканировать экземпляры PhantomJS внутри системного лотка и убивать их без каких-либо ошибок, появляющихся, как раньше, при использовании BackgroundWorker.

Смежные вопросы