powered by simpleCommunicator - 2.0.37     © 2025 Programmizd 02
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Как узнать идентификатор процесса Cache?
13 сообщений из 13, страница 1 из 1
Как узнать идентификатор процесса Cache?
    #38901963
jxcoder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возможно ли в классах на COS каким либо образом получить pid инстанса Cache (или что-то, что можно расценивать как основной процесс инстанса)?
...
Рейтинг: 0 / 0
Как узнать идентификатор процесса Cache?
    #38902014
Ptn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jxcoder,

Каша выполняется в множестве процессов.
Часть системных типа WD JD, часть воспомогательных и пользовательские в которых выполняется твой код.
Что такое в данном случае основной процесс инстанса вопрос непростой.

PID твоего пользовательского процесса это $J, PID системных хбз - по идее можно cconsole.log попарсить
...
Рейтинг: 0 / 0
Как узнать идентификатор процесса Cache?
    #38902134
Фотография П.С.М.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jxcoder,
В дополнение к ответу Ptn добавлю ссылок:
$JOB
$ZJOB
^$JOB
%SYSTEM.Process
JOB
$ZCHILD
$ZPARENT
...
Рейтинг: 0 / 0
Как узнать идентификатор процесса Cache?
    #38902993
jxcoder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
П.С.М.,

спасибо! Решил воспользоваться $JOB.
...
Рейтинг: 0 / 0
Как узнать идентификатор процесса Cache?
    #38904799
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jxcoder(или что-то, что можно расценивать как основной процесс инстанса)?$job - это лишь идентификатор текущего процесса.
Если надо идентифицировать установку (инстанс) Cache, то для неё в рамках ОС уникальным является, например, номер порта супер-сервера. Ну и сам хост надо идентифицировать, можно по имени. Возможный идентификатор: $zu(110)_":"_$zu(172,0)
при условии, конечно, что хосты имеют уникальные имена, чтобы $zu(110) не вернула "localhost" или какой-нибудь "Asus-PC". Можно докопаться и до IP-адресов, но здесь тоже могут быть вопросы: если сетевых интерфейсов несколько, какой их них выбрать (можно по маске сети).
Данный подход к идентификации (имя/ip_хоста:порт_супер-сервера) позволяет проверить, запущена ли установка, по доступности порта.
Вместо $zu() можно, конечно, использовать классы, поищите в документации, если интересно.
...
Рейтинг: 0 / 0
Как узнать идентификатор процесса Cache?
    #38904827
Фотография ну я
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey Maslovjxcoder(или что-то, что можно расценивать как основной процесс инстанса)?$job - это лишь идентификатор текущего процесса.
Если надо идентифицировать установку (инстанс) Cache, то для неё в рамках ОС уникальным является, например, номер порта супер-сервера. Ну и сам хост надо идентифицировать, можно по имени. Возможный идентификатор: $zu(110)_":"_$zu(172,0)
при условии, конечно, что хосты имеют уникальные имена, чтобы $zu(110) не вернула "localhost" или какой-нибудь "Asus-PC". Можно докопаться и до IP-адресов, но здесь тоже могут быть вопросы: если сетевых интерфейсов несколько, какой их них выбрать (можно по маске сети).
Данный подход к идентификации (имя/ip_хоста:порт_супер-сервера) позволяет проверить, запущена ли установка, по доступности порта.
Вместо $zu() можно, конечно, использовать классы, поищите в документации, если интересно.
w $system
тоже может помочь
...
Рейтинг: 0 / 0
Как узнать идентификатор процесса Cache?
    #38904854
jxcoder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне нужно сформировать oid:
Код: sql
1.
2.
3.
4.
1. 4-byte value representing the seconds since the Unix epoch,
2. 3-byte machine identifier,
3. 2-byte process id, and
4. 3-byte counter, starting with a random value.



для machine identifier я решил использовать IP машины, для pid - $JOB.
...
Рейтинг: 0 / 0
Как узнать идентификатор процесса Cache?
    #38904907
Фотография ну я
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jxcoderМне нужно сформировать oid:
Код: sql
1.
2.
3.
4.
1. 4-byte value representing the seconds since the Unix epoch,
2. 3-byte machine identifier,
3. 2-byte process id, and
4. 3-byte counter, starting with a random value.



для machine identifier я решил использовать IP машины, для pid - $JOB.
И как отличить процессы двух разных инстансов? Или это уже не нужно?
...
Рейтинг: 0 / 0
Как узнать идентификатор процесса Cache?
    #38905011
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну яjxcoderМне нужно сформировать oid:
Код: sql
1.
2.
3.
4.
1. 4-byte value representing the seconds since the Unix epoch,
2. 3-byte machine identifier,
3. 2-byte process id, and
4. 3-byte counter, starting with a random value.




для machine identifier я решил использовать IP машины, для pid - $JOB.
И как отличить процессы двух разных инстансов? Или это уже не нужно?разве на одной машине процессы двух разных инстансов могут пересекаться? Ведь $job это pid системный
...
Рейтинг: 0 / 0
Как узнать идентификатор процесса Cache?
    #38905108
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иногда полезно знать, какому инстансу принадлежит процесс. Например, была задача: убить все процессы определённой установки Cache, отвечающие определённому критерию.

Насколько всё предложенное подходит ТС, неясно, т.к. мы не знаем, какую задачу он решает. Исходя из того, что отводится 3 байта для идентификации процессов (а это может быть только хэш от ip, но никак не сам ip), можно предположить, что речь о "глобальном контроле" над процессами не идёт.
...
Рейтинг: 0 / 0
Как узнать идентификатор процесса Cache?
    #38905109
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
3 байта для идентификации процессовимел в виду: 3 байта для идентификации машин, конечно.
...
Рейтинг: 0 / 0
Как узнать идентификатор процесса Cache?
    #38905283
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey Maslov3 байта для идентификации процессовимел в виду: 3 байта для идентификации машин, конечно.The ObjectID 3 byte machine field is the first three bytes of the (md5) hash of the machine host name, or of the mac/network address, or the virtual machine id.
...
Рейтинг: 0 / 0
Как узнать идентификатор процесса Cache?
    #38905527
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jxcoderМне нужно сформировать oid:
Код: sql
1.
2.
3.
4.
1. 4-byte value representing the seconds since the Unix epoch,
2. 3-byte machine identifier,
3. 2-byte process id, and
4. 3-byte counter, starting with a random value.




для machine identifier я решил использовать IP машины, для pid - $JOB.На одной машине может быть несколько экземпляров Caché, поэтому IP - не вариант.
Для этих целей см. методы класса %SYS.System :
  • GetInstanceName
  • GetUniqueInstanceName
  • или InstanceGUID
NodeNameInPid ), то есть содержать помимо pid ещё и node name.
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Как узнать идентификатор процесса Cache?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]