Как определить, какая служба связана с конкретным процессом ArcSOC.exe и наоборот?

10

У меня есть сервер разработки Arcgis с несколькими картографическими сервисами, сервисами gp и SOE. Иногда процесс arcgissoc.exe зависает. Также кажется, что слишком много запущенных SOC, основываясь на том, что я вижу в ArcCatalog.

Как я могу определить, какой ArcSOC.exe (идентификатор процесса) идет с каким сервисом в arccatalog?

Я бегу 10.0.

Кирк Куйкендалл
источник
Я думаю, что «бонусные» процессы ArcSOC являются рабочими для SOM, поэтому у вас всегда будет еще несколько, которые не связаны с запущенной задачей.
mwalker

Ответы:

6

Если вы включите Info: Простая регистрация (все еще применяется в 10), идентификаторы процесса будут помещены в журнал вашего сервера. Вы можете просмотреть журналы через диспетчер сервера или вы можете перейти в C: \ Program Files \ ArcGIS \ Server10.0 \ server \ user \ log и просмотреть файл .dat. Вот выдержка из моей машины разработчика:

<Msg time='2010-12-01T12:18:43' type='INFO1' code='3007' target='Server' thread='5960'>Attempt to start configuration maps/stuff of type MapServer.</Msg>
<Msg time='2010-12-01T12:18:44' type='INFO1' code='17004' target='maps/stuff.MapServer' methodName='GraphicFeatureServer.Construct' machine='blahblah' process='9276' thread='4168'>GraphicFeatureServer Construct started.</Msg>
<Msg time='2010-12-01T12:18:44' type='INFO1' code='17002' target='maps/stuff.MapServer' methodName='GraphicFeatureServer.Construct' machine='blahblah' process='9276' thread='4168'>Default Map name is: Layers.</Msg>
<Msg time='2010-12-01T12:18:44' type='INFO1' code='17002' target='maps/stuff.MapServer' methodName='GraphicFeatureServer.InitializeLayers' machine='blahblah' process='9276' thread='4168'>Layer Initialization Summary. Layers in Map: 2. Successful Initialization on: 2. Unsupported Layers count: 0. Failed Initialization on 0.</Msg>
<Msg time='2010-12-01T12:18:44' type='INFO1' code='17002' target='maps/stuff.MapServer' methodName='GraphicFeatureServer.Construct' machine='blahblah' process='9276' thread='4168'>Initialized 2 Layer(s).</Msg>
<Msg time='2010-12-01T12:18:44' type='INFO1' code='17002' target='maps/stuff.MapServer' methodName='GraphicFeatureServer.Construct' machine='blahblah' process='9276' thread='4168'>Initialized 0 Table(s).</Msg>
<Msg time='2010-12-01T12:18:44' type='INFO1' code='17006' target='maps/stuff.MapServer' methodName='GraphicFeatureServer.Construct' machine='blahblah' process='9276' thread='4168' elapsed='0.01660'>GraphicFeatureServer Construct ended.</Msg>
<Msg time='2010-12-01T12:18:44' type='INFO1' code='12002' target='maps/stuff.MapServer' methodName='KmlServer.Construct' machine='blahblah' process='9276' thread='4168'>Construct started.</Msg>
<Msg time='2010-12-01T12:18:44' type='INFO1' code='12003' target='maps/stuff.MapServer' methodName='KmlServer.Construct' machine='blahblah' process='9276' thread='4168'>Construct ended.</Msg>
<Msg time='2010-12-01T12:18:44' type='INFO1' code='3013' target='maps/stuff.MapServer' thread='5960'>Configuration maps/stuff.MapServer is started.</Msg>

Идентификатор процесса 9276 соответствует ArcSOC.exe для этого картографического сервиса.

Дерек Суингли
источник
2
Спасибо! Конечно, было бы неплохо иметь интерфейс для просмотра этого во время отладки.
Кирк Кайкендалл
Очень полезно знать, и, кроме того, это работает и на 9.3.1.
Чед Купер
Интересно, можно ли предположить, что если pid arcsoc.exe не указан в журнале, то это сирота, которую можно безопасно убить.
Кирк Кайкендалл
@Kirk: возможно, но вам нужно будет проверить все файлы журнала ... файл журнала перевернется, как только он достигнет определенного размера.
Дерек Суингли