В C ++ у меня есть ресурс, связанный с pid.Иногда процесс, связанный с этим pid, завершается ненормально и пропускает ресурс.
Поэтому я подумываю поместить pid в файл, в котором записывается, что ресурс используется.Затем, когда я иду, чтобы получить ресурс, если я вижу элемент, зарегистрированный как находящийся в использовании, я ищу, чтобы увидеть, запущен ли в данный момент процесс, соответствующий pid, и, если нет, очистить просочившийся ресурс.
Я понимаю, что существует очень малая вероятность того, что новый нереализованный pid теперь разделяет то же число, но это лучше, чем утечка без очистки, которую я имею сейчас.
В качестве альтернативы, возможно, есть лучшее решениедля этого, если да, предложите, в противном случае я продолжу запись pid.
Дополнительные сведения: ресурс представляет собой номер порта для связи между клиентом и сервером по протоколу tcp.Только один экземпляр клиента может использовать данный номер порта на компьютере.Номера портов взяты из диапазона доступных номеров портов для использования.Пока клиент работает, он записывает номер порта, который он использует, в специальном файле на диске, а затем очищает эту запись при выходе.При аварийном выходе это не всегда очищается, и номер порта остается аннотированным как используемый, когда он больше не используется.