1个不稳定版本
0.1.0 | 2023年12月29日 |
---|
#415 在 操作系统 分类中
15KB
400 行
rt-watchdog
Rust的实时用户空间看门狗。目前支持的平台包括x86-64 Linux和AArch64 Linux。
- 看门狗线程使用
SCHED_DEADLINE
调度器运行,保证最高的实时优先级。 - 看门狗线程使用的代码和数据页面被
mlock
锁定。
如果错过一个滴答,当前进程将被立即终止。
提供了一种选项,在不受支持的平台上回退到简单的非实时实现。
用法
use std::sync::atomic::Ordering;
use std::time::Duration;
let ctx = rt_watchdog::start_watchdog(
rt_watchdog::Strategy::RealtimeOrFallback,
Duration::from_millis(100),
);
loop {
ctx.counter.fetch_add(1, Ordering::SeqCst);
std::thread::sleep(Duration::from_millis(90));
}
进程必须具有CAP_SYS_NICE
能力才能使用截止时间调度器。使用以下命令将能力添加到可执行文件中:
sudo setcap "cap_sys_nice=eip" ./myapp
依赖项
~43KB