FIFOを使用してプロセスを実行する許可

FIFOを使用してプロセスを実行する許可

独自のスケジューラポリシーがに設定されているプログラムを実行しようとすると、sched_FIFO次のように誤って表示されます。許可されていない操作。実行するとsudo成功しますが、必要な権限だけで権限を減らしたいと思います。
権限設定を必要とするこのプログラムを一般ユーザーが実行できるようにするにはどうすればよいですかsched_FIFO

答え1

man capabilitiesシステムコールなどのプロセスにsched_setscheduler() この機能が必要であることを示しますCAP_SYS_NICE。プログラムをファイルにコンパイルしたら、以下をmyprogram使用してこの機能を設定できます。

sudo setcap CAP_SYS_NICE+ep myprogram

その後、ルートなしで実行できます。

関連情報