rtprio + su - doesn't work

Chuck Swiger cswiger at mac.com
Fri Aug 22 17:04:06 UTC 2008


On Aug 22, 2008, at 6:28 AM, Wojciech Puchar wrote:
>>> tu run (at startup) asterisk PBX as user centrala with realtime  
>>> priority.
>>> asterisk is started, but without realtime priority.
>>
>> Yes, you'd be running the su process with realtime priority.  :-)
>
> and su forks shell and asterisk - isn't it?

That's right.  RT priority isn't inherited by children processes, or  
so it seems.

[ ... ]
>>> Well, you have to run rtprio as root, or else make it setuid-root  
>>> (which probably isn't a great idea).  Presumably this thing has a  
>>> startup script which runs it, and it probably creates a PID file  
>>> under /var/run which you could use to adjust the priority during  
>>> system startup via:
>>
>> rtprio 31 -`cat /var/run/asterix.pid`
>
> did this
>
> /usr/bin/su centrala -c \
> "/usr/local/sbin/asterisk -C /centrala/etc/asterisk.conf"
> /bin/sleep 5
> /usr/sbin/rtprio 31 -`cat /centrala/run/asterisk.pid`
>
> works fine, but looks like workaround for me not proper solution?
> am i wrong? thank you for explanation why it doesn't work directly

Very few people do anything with RT priorities, in part because Unix  
was designed to maximize workload throughput originally in a batch- 
processing context.  People who need hard realtime tend to use more  
specialized systems and hardware designed for realtime tasks (ie,  
bounded interrupt service times and the like)...

-- 
-Chuck



More information about the freebsd-questions mailing list