По причинам, которые я бы предпочел не использовать (связано с совместимостью со сторонней библиотекой, которую я не могу изменить), мне нужно использовать TCP-сокет для выполнения IPC в рамках одного процесса в iOS.
Чтобы другие процессы не могли общаться с моим сокетом TCP IPC, я хотел бы проверить в ОС, что процесс, вызывающий connect()
(из другого потока), имеет тот же PID, что и мой.
В OS X я заметил, что netstat
не имеет этой информации (в отличие от других операционных систем, таких как Windows и Linux), и единственный способ определить эту информацию - использовать lsof
.Я не уверен, что может быть доступно в песочнице iOS, но пока мне кажется, что моя лучшая ставка (даже если она кажется дорогой) - выяснить, что делает lsof
, и попытаться повторить это.
Кто-нибудь знает системный вызов, который я могу использовать, чтобы проверить это?Я уже прочитал getsockopt(2)
и не вижу ничего подходящего, и я не могу найти документацию о том, какие звонки ioctl(2)
поддерживаются.
Что здесь возможно?