Я работаю с системой V совместно используемой памяти в приложении. во время разработки мне нужно проверять, а иногда и удалять сегмент памяти. Я знаю, что есть команда ipcs
для проверки разделяемой памяти, и есть ipcrm
для удаления. Моя единственная проблема в том, что мне сначала нужно найти shmid
сегмента общей памяти, используя ipcs -m
, определить правильный, а затем удалить его, используя ipcrm -m <shmih>
. В моем приложении я использую ftok()
для идентификации сегмента общей памяти, используя файл и идентификатор, что гораздо проще (можно использовать ipcrm -M
для удаления сегмента общей памяти, используя его ключ вместо shmid). Есть ли команда ftok
для оболочки? По умолчанию на моем сервере Ubuntu его нет, и при проверке файлов man я не нашел ни одного намека на него.
Сценарий оболочки или двоичный файл, который создает те же идентификаторы, что и ftok, тоже подойдет ... Я просто не хочу использовать какой-либо другой intperpreter, кроме /bin /sh или /bin /bash из соображений совместимости. И я не знаю слишком много Си, поэтому, к сожалению, я не могу просто написать свой собственный.