Как отобразить процесс, в настоящее время содержащий семафор?

Думайте некасательно параметра, как являющегося указателем, и касательно параметра как двойной указатель. Это помогло мне больше всего.

Вы почти никогда не должны проходить мимо значений касательно, Я подозреваю, что, если бы это не было для проблем interop, команда .NET никогда не включала бы его в исходную спецификацию. OO способ иметь дело с большей частью проблемы, которые касательно параметров решают, к:

Для нескольких возвращаемых значений

  • Создают структуры, которые представляют несколько возвращаемых значений

Для примитивов, которые изменяются в методе как результат вызова метода (метод имеет побочные эффекты на примитивных параметрах)

  • Реализация метод в объекте как метод экземпляра, и управляйте состоянием объекта (не параметры) как часть вызова метода
  • Использование несколько решение для возвращаемого значения и объединитесь, возвращаемые значения к Вашему состоянию
  • Создают объект, который содержит состояние, которым может управлять метод и передать тот объект как параметр а не сами примитивы.
9
задан William Pursell 11 September 2009 в 14:05
поделиться

3 ответа

Семафоры не являются мьютексами. Вы их не «держите». Если процесс заблокирован, это означает, что он ждет, пока кто-то другой выполнит над ним операцию «вверх» или «V». Не существует инструмента ядра, который сообщал бы вам, каким будет будущее поведение программного обеспечения.

5
ответ дан 4 December 2019 в 19:35
поделиться

Может быть и более простой способ, но вы можете использовать вызов semctl () с командой GETPID. Это должно вернуть процесс, выполнивший последний вызов semop () для семафора. Это может быть или не быть вашим мошенническим процессом, но, вероятно, это хороший намек.

3
ответ дан 4 December 2019 в 19:35
поделиться

Did you try

ipcs -p
0
ответ дан 4 December 2019 в 19:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: