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
Я понимаю, что это связано с тем, что код не имеет доступа для чтения и записи к /dev/shm. Я бы хотел, чтобы код временно запускался от имени пользователя root, чтобы он мог получить блокировку, а в противном случае запускался с привилегиями уровня пользователя. Как мне это сделать?
Я хочу использовать multiprocessing.Pool Python [code]import multiprocessing as mp pool = mp.Pool(3) for i in range(num_to_run): pool.apply_async(popen_wrapper, args=(i,), callback=log_result) [/code] Но я получаю ошибку ОС: [code] 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 [/code] Я понимаю, что это связано с тем, что код не имеет доступа для чтения и записи к /dev/shm. Я бы хотел, чтобы код временно запускался от имени пользователя root, чтобы он мог получить блокировку, а в противном случае запускался с привилегиями уровня пользователя. Как мне это сделать?