instalar - uninstall python linux
Multiproceso de Python: Permiso denegado (2)
Me aparece un error al intentar ejecutar el programa python que usa el paquete de multiprocesamiento:
File "/usr/local/lib/python2.6/multiprocessing/__init__.py", line 178, in RLock
return RLock()
File "/usr/local/lib/python2.6/multiprocessing/synchronize.py", line 142, in __init__
SemLock.__init__(self, RECURSIVE_MUTEX, 1, 1)
File "/usr/local/lib/python2.6/multiprocessing/synchronize.py", line 49, in __init__
sl = self._semlock = _multiprocessing.SemLock(kind, value, maxvalue)
OSError: [Errno 13] Permission denied
Parece que el usuario no tiene permiso para acceder a la memoria compartida. Al ejecutar con privilegios de root, funciona bien.
¿Hay alguna solución para ejecutarlo como usuario normal (no root)?
Python versión 2.6.2, OS es Linux 2.6.18 (CentOS versión 5.4) y es una máquina VPS.
En mi OVH VPS Classic, este error fue causado por un bucle en / dev / shm y / run / shm. Ambos eran enlaces simbólicos que se vinculan entre sí. Así que como raíz aquí es lo que hice:
# rm /dev/shm
# mkdir /dev/shm
# chmod 777 /dev/shm
# nano /etc/fstab
Luego modifiqué la línea shm desde:
none /dev/shm tmpfs rw 0 0
A:
none /dev/shm tmpfs rw,nosuid,nodev,noexec 0 0
Reinició el servidor ... ¡Y eso solucionó el problema! Alternativamente, puedes montar shm manualmente:
# mount /dev/shm
Espero que esto ayude :-)
Para que los semáforos POSIX funcionen, los usuarios necesitan acceso de lectura /dev/shm
a la memoria compartida ( /dev/shm
).
Compruebe los permisos a /dev/shm
. En mi computadora portátil (Ubuntu) se ve así:
$ ls -ld /dev/shm
drwxrwxrwt 2 root root 40 2010-01-05 20:34 shm
Para establecer permanentemente los permisos correctos (incluso después de reiniciar), agregue lo siguiente a su /etc/fstab
:
none /dev/shm tmpfs rw,nosuid,nodev,noexec 0 0
No lo he intentado, solo copié de una publicación del foro .