Я пытаюсь запустить jackd с приоритета в реальном времени при начальной загрузке с uptstart сценарием, но без успеха до сих пор. Я использую сервер человечности 14.04. Моя новомодная версия 1.12.1.
Пользователю и группе, которую я использую в сценарии, разрешают использовать приоритет в реальном времени, но когда я запускаю свой новомодный скрипт, который не делает, кажется, имеет значение. Каждый раз, когда я пытаюсь выполнить его, я получаю это на новомодном журнале:
jackdmp 1.9.10
Copyright 2001-2005 Paul Davis and others.
Copyright 2004-2013 Grame.
jackdmp comes with ABSOLUTELY NO WARRANTY
This is free software, and you are welcome to redistribute it
under certain conditions; see the file COPYING for details
Cannot create thread 1 Operation not permitted
Cannot create thread 1 Operation not permitted
Cannot create thread 1 Operation not permitted
JACK server starting in realtime mode with priority 70
Cannot lock down 82274202 byte memory area (Cannot allocate memory)
Cannot create thread 1 Operation not permitted
ERROR: messagebuffer not initialized: libffado 2.1.9999- built Oct 19 2013 16:01:07
ERROR: messagebuffer not initialized: 1408466326248438: Error (PosixThread.cpp)[ 161] Start: Cannot create realtime thread (1: Operation not permitted)
ERROR: messagebuffer not initialized: 1408466326248486: Error (PosixThread.cpp)[ 162] Start: priority: 75
firewire ERR: FFADO: Error creating virtual device
Cannot attach audio driver
JackServer::Open failed with -1
Failed to open server
Если я выполняю его со своим обычным пользователем, это хорошо работает. Мой новомодный сценарий является очень простым:
description "jackd"
start on stopped rc
stop on runlevel [06]
exec su radiola -c "jackd -R -P 70 -d firewire -r 44100 -n 3 -p 2048"
Я также попытался использовать setuid и setguid строки файла конфигурации и start-stop-daemon, но он закончился с теми же результатами, которые я просто описал. Существует ли способ заставить выскочку запустить процесс в реальном времени? В противном случае есть ли другое решение этой проблемы?
Спасибо.
Этому ответили в stackoverflow:
Оказывается, что необходимо использовать строки файла конфигурации:
limit memlock unlimited unlimited
limit rtprio 95 95