linux系统调用printk打印的信息有时显示,有时不显示,Linux内核:来自“open”系统调用的printk不起作用...

But I don´t understand why the “Testing” didn’t appeared on the shell.

我认为,这是printk消息抑制的效果. (更准确地说:限速)

检查消息日志或控制台

printk: ### messages suppressed.

串.

如果最近有很多消息,此功能将停止打印消息.

1621 * printk rate limiting,lifted from the networking subsystem.

1622 *

1623 * This enforces a rate limit: not more than 10 kernel messages

1624 * every 5s to make a denial-of-service attack impossible.

1625 */

1626 DEFINE_RATELIMIT_STATE(printk_ratelimit_state,5 * HZ,10);

1627

1628 int __printk_ratelimit(const char *func)

所以,由于开放的系统调用非常受欢迎(只是做一个strace -e open / bin / ls – 我将获得15个开放的系统调用来启动最简单的ls),速率限制将生效.它将限制您的信息仅在5秒内打印一次;单个“爆发”中不超过10条消息.

我只能建议创建一个具有已知UID的特殊用户,并在printk中添加一个UID检查,并在其他printk-in-open代码中添加.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值