|
1 | | -Перем _ОжиданиеМеждуПроверками; // Число |
2 | | -Перем _ФоновоеЗадание; // ФоновоеЗадание, Неопределено |
| 1 | +#Использовать logos |
| 2 | + |
| 3 | +Перем _ОжиданиеМеждуПроверками; // Число - Миллисекунды между проверками |
| 4 | +Перем _ФоновоеЗадание; // ФоновоеЗадание, Неопределено |
| 5 | +Перем _Лог; // Лог |
3 | 6 |
|
4 | 7 | &Желудь |
5 | 8 | Процедура ПриСозданииОбъекта() |
6 | 9 | _ОжиданиеМеждуПроверками = 5000; |
| 10 | + _Лог = Логирование.ПолучитьЛог("oscript.lib.httpbin"); |
7 | 11 | КонецПроцедуры |
8 | 12 |
|
9 | 13 | #Область ПрограммныйИнтерфейс |
10 | 14 |
|
11 | 15 | // Запускает фоновое наблюдение за процессом с указанным идентификатором. |
12 | | -// Если процесс завершается, текущий процесс также будет автоматически завершен. |
| 16 | +// Если наблюдаемый процесс завершается, текущий процесс автоматически завершится. |
13 | 17 | // |
14 | 18 | // Параметры: |
15 | | -// PID - Число - Идентификатор процесса, за которым необходимо наблюдать |
| 19 | +// PID - Число - Идентификатор родительского процесса для наблюдения |
| 20 | +// |
16 | 21 | Процедура НачатьНаблюдение(PID) Экспорт |
17 | 22 |
|
18 | 23 | Если Не _ФоновоеЗадание = Неопределено |
19 | 24 | И _ФоновоеЗадание.Состояние = СостояниеФоновогоЗадания.Активно Тогда |
20 | | - ВызватьИсключение "Наблюдение за родительским процессом уже запущено"; |
| 25 | + ВызватьИсключение "Невозможно запустить наблюдение: уже активно наблюдение за процессом."; |
21 | 26 | КонецЕсли; |
22 | 27 |
|
| 28 | + _Лог.Отладка("Запуск наблюдения за родительским процессом PID=%1", PID); |
| 29 | + |
23 | 30 | ПараметрыМетода = Новый Массив(); |
24 | 31 | ПараметрыМетода.Добавить(PID); |
25 | 32 |
|
|
44 | 51 |
|
45 | 52 | Процесс = НайтиПроцессПоИдентификатору(PID); |
46 | 53 | Если Процесс = Неопределено Тогда |
| 54 | + _Лог.Отладка("Родительский процесс PID=%1 завершён. Завершение текущего процесса", PID); |
47 | 55 | ТекущийПроцесс().Завершить(); |
48 | 56 | КонецЕсли; |
49 | 57 |
|
|
0 commit comments