Отрубаем зависшие на сервере процессы

28.07.20

Разработка - Разработка внешних компонент

Вы любите COM объекты? Я их просто обожаю! Практически все, чего не может 1С, можно доделать ими. Но есть у них небольшой косячок: иногда они зависают и висят, пока не отрубишь их через диспетчер задач или до перезагрузки, жрут память и в конце концов перестают запускаться. Что делать? Рубить!

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Отрубание зависших процессов (внешняя обработка)
.epf 10,55Kb ver:1.1
9
9 Скачать (1 SM) Купить за 1 850 руб.

Идея: С определенной периодичностью (например 15 минут) проверять список запущенных процессов, запоминать их PID(идентификатор процесса). Если по прошествии периода при повторном сканировании PID все ещё присутствует - значит процесс завис и пора его рубить.

Реализация: Для реализации этой идеи есть в Windows 2 функции: tasklist и taskkill. Первая - выводит список запущенных процессов, вторая - их убивает. С tasklist все непросто: он умеет выводить результат в файл, но через WScript почему-то этого не делает. Зато можно написать батник и запускать его. Для хранения батника и файла со списком запущенных приложений можно использовать папку Мои документы (чтобы точно доступ был). Итого получается батник с такой командой: tasklist /FO CSV > "%userprofile%\Documents\Process.txt" . CSV - чтобы читать было удобнее. Для хранения старого списка можно использовать этот же файл. То есть процесс выглядит так: Читаем ранее выгруженный список процессов, перезаписываем новый, сравниваем их, если есть повторяющиеся, делаем им "taskkill /F /PID %1 /T" по идентификатору.

В прикрепленной обработке это реализовано. Батник вставляется сам, для процессов выставлен фильтр(прописан в модуле объекта), пропускающий только excel.exe,winword.exe. Для отладки есть форма, выводящая список запущенных процессов чтобы проверить что у 1С достаточно прав на такие махинации. Обработку можно добавить как внешнюю и запускать по расписанию. Тестировалось на 8.3.9.1818.

taskkill tasklist COM объект объекты диспетчер задач Windows Word Excel зависает

См. также

Разработка внешних компонент Программист Платформа 1С v8.3 1C:Бухгалтерия 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 Платные (руб)

Внешняя компонента позволяет работать c TWAIN-совместимым оборудованием (сканерами, камерами) . Полностью совместима со стандартной TWAIN-компонентой из БСП и может применяться как ее замена без изменения вызовов, при этом может работать с 64-разрядной платформой, а так же имеет расширенную функциональность, например, сохранение результата непосредственно в PDF без использования сторонних утилит. Прекрасно работает на сервере, тонком клиенте и веб-клиенте (проверена работа в браузерах Google Chrome, Mozilla Firefox и Microsoft Internet Explorer).

3000 руб.

12.05.2020    29463    140    100    

93

Разработка внешних компонент Программист Платформа 1С v8.3 1C:Бухгалтерия Платные (руб)

Внешняя компонента позволяет печатать PDF файлы непосредственно из 1С, не используя при этом сторонних программ. Прекрасно работает на сервере, тонком клиенте и веб-клиенте. Основана на проекте PDFium из состава проекта Chromium/Chrome

1500 руб.

17.09.2018    37453    116    128    

117

Разработка внешних компонент Программист Платформа 1С v8.3 1C:Бухгалтерия Платные (руб)

Позволяет автоматизировать работу с картинками. С помощью компоненты можно измерять размер изображений, поворачивать их, наносить водяные знаки, конвертировать из одного формата в другой. Будет очень полезна для интернет-магазинов и всех, кому постоянно требуется работать с различными графическими форматами. Выполнена по технологии NativeAPI. Работает с форматами: jpg (jpeg), png, bmp, gif, tif

3600 руб.

02.09.2010    78262    73    280    

191

Разработка внешних компонент Телефония, SIP Программист Платформа 1С v8.3 1C:Бухгалтерия Россия Платные (руб)

Внешняя компонента выполнена по технологии Native API для 1С 8.х, обеспечивает доступ к программным АТС Asterisk (FreePBX, Elastix) через AMI интерфейс. Через него можно управлять многими функциями Asterisk (определение номеров, перевод звонков, набор телефона и т. д.)

2400 руб.

04.05.2018    47921    125    66    

68

Разработка внешних компонент Системный администратор Программист Стажер Бесплатно (free)

Библиотека для работы с базами SQLite из 1С на основе внешней компоненты. Для Linux и Windows, бесплатно и с открытым исходным кодом!

14.01.2025    3009    bayselonarrend    14    

50

Разработка внешних компонент Программист Платформа 1С v8.3 1C:Бухгалтерия Россия Бесплатно (free)

В статье описывается приложение-конструктор внешних компонент (native API). Конструктор упрощает процесс разработки за счет удобного добавления всех нужных функций и процедур в графическом режиме, с указанием их параметров и типов параметров. На выходе приложение генерирует готовый код на С++ и Rust и позволяет сразу приступить к реализации, без настройки API компоненты вручную.

04.12.2024    5891    kovalevdmv    26    

79

Разработка внешних компонент Программист Платформа 1С v8.3 1C:Бухгалтерия 1С:Управление торговлей 11 Платные (руб)

Внешняя компонента для конвертации PDF файлов в картинки без использования дополнительных программ. Работает на сервере и в тонком клиенте.

2400 руб.

25.06.2024    1434    3    4    

3
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. PowerBoy 3458 29.07.20 06:44 Сейчас в теме
т.е. рабочие процессы тоже отрубаются? как отличить рабочие процессы от ком-соединений?
2. zarankony 314 29.07.20 07:43 Сейчас в теме
(1) в данном случае никак. Как я уже писал есть фильтр который берёт только определенные приложения : Ворд и Эксель по умолчанию. Т.к. работает это на сервере, там обычно стоит только сервер 1с и рабочих процессов просто нет. Была ещё идея фильтровать их по пользователю, но опять же потребности нет потому что у большинства на сервере только 1с и крутится.
3. zarankony 314 29.07.20 09:50 Сейчас в теме
(1)Сейчас дополнительно покопался, похоже что у COM объектов имя сессии "Services", фильтранулся на нем и дописал обработку.
Оставьте свое сообщение