Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

230
Views
¿Cuál es la vida útil de la memoria compartida en Linux?

Estoy creando, escribiendo y leyendo desde un segmento compartido en Linux usando las funciones ftok/shmget/shmat/shmdt.

Si escribo en el segmento en un programa que luego sale, y luego leo el segmento de otro programa más tarde, me sorprende encontrar los datos todavía allí.

Habría esperado que cuando el último proceso que comparte un segmento hace un shmdt, el segmento se liberaría.

¿Puedo confiar en este comportamiento? ¿O es análogo a continuar usando un puntero después de liberarlo ()?

over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

El área de memoria compartida permanece hasta que se elimina mediante shmctl(shmid,IPC_RMID,...) [o reinicio del sistema]. Esto surtirá efecto después de que cada proceso haya realizado shmdt [o terminado].

La semántica es muy similar a un archivo. shmat es como open . shmdt es como close y [arriba] shmctl es como unlink .

Si cierra un archivo, le gustaría que persistiera hasta que se elimine específicamente, ¿no es así? Entonces, los segmentos de memoria compartida funcionan de manera similar

over 4 years ago · Santiago Trujillo Report

0

shmdt solo desconecta su memoria, no se realiza ningún borrado/sobrescritura en el segmento de datos. Hasta que algún otro proceso mapee y lo use nuevamente, los datos perdurarán.

Además, debe usar mmap más nuevo y compatible con POSIX.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!