Как получить PIDs, ожидающий на семафоре

Можно попытаться реконфигурировать пакет локалей, который должен попросить, чтобы Вы установили свою системную локаль.

dpkg-reconfigure locales

Можно также выполнить способность определенной локали для поиска и устранения неисправностей.

LANG=en_US.UTF-8 aptitude
0
задан 4 November 2010 в 19:42
1 ответ

Быстрый и грязный:

#include <sys/sem.h>
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char **argv)
{
    int pid;
    if (argc != 2) return 1;
    pid = semctl(atoi(argv[1]), 0, GETPID);
    printf("%d\n", pid);
    return 0;
}

(Я предполагаю здесь.)

2
ответ дан 4 December 2019 в 15:05
  • 1
    semctl (2) страница справочника по manpagez.com/man/2/semctl. Аргументы вышеупомянутой программе предполагают, что Вы являетесь передающими в идентификаторе семафора, полученного как "semid" в ipcs -l. GETPID является "pid последнего процесса, который выполнит операцию на семафорном числе semnum. "0" аргумент должен выбрать первый семафор под этим semid хотя, если был больше чем один созданный, необходимо будет выбрать другое число. –  zerolagtime 8 November 2010 в 05:12
  • 2
    ipcs -s -i semid может также показать ту же информацию. semid то же поданное число ipcs -l. –  zerolagtime 8 November 2010 в 05:15

Теги

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