由于新冠肺炎限制了我的团队对硬件的访问,我正在我的电脑上模拟嵌入式软件。我们使用来自Micrium的uCOS-III RTOS,Linux POSIX端口要求将rtprio限制设置为无限。他们的启动指南说要将<username> - rtprio unlimited添加到limits.conf文件中,这是我在/etc/security/中找到的。当我尝试然后运行ulimit -a时,rtprio的限制仍然是0。
我也尝试过运行ulimit -r unlimited,但是我没有正确的权限,除非我在sudo bash会话中。我发现正确运行RTOS代码的唯一方法是运行sudo bash并在~/.bashrc中包含ulimit -r unlimited。这要求我在任何时候都是sudo,因为我想运行可执行文件,这有点烦人,也限制了一些调试选项。
我目前正在通过Windows子系统运行Linux,这正是我所认为的阻碍这一点的原因。我在WSL2和Ubuntu20.04LTS上。我只是想知道是否有办法改变rtprio限制,而不是在超级用户模式下。谢谢!
发布于 2020-11-06 17:21:14
在添加/etc/security/limits.conf之后,如下所示:
#<domain> <type> <item> <value>
<your_user_name> hard rtprio 20
<your_user_name> soft rtprio 0在登录时,它不直接工作,因此在使用新的限制之前,您需要通过su更改用户。在设置su <your_user_name>之前尝试ulimit
$ ulimit -r
0
$ ulimit -Sr 1
1
$ ulimit -r
1请注意,您可以将软限制设置在0 ant和硬极限之间(在本例中为0- 20 ),并且可以不可逆转地减少硬极限。
https://stackoverflow.com/questions/62394457
复制相似问题