【linux内核】workqueue_struct工作队列

配置笔记本电脑安装centos7关闭盖子不休眠

struct workqueue_struct *my_wq;
my_wq = alloc_workqueue("my_wq", WQ_UNBOUND | WQ_MEM_RECLAIM, 1);
INIT_WORK(&my_work, my_work_func);
queue_work(my_wq, &my_work);
  • 调用 alloc_workqueue():仅创建队列对象;
  • 调用 queue_work():发现没有 worker,创建一个;
  • 线程启动,执行 my_work_func();
  • 执行完后线程保持空闲,等待下一个任务。

在/etc/systemd/logind.conf文件中添加一行配置:

HandleLidSwitch=ignore

 

参考资料

1. workqueue_struct工作队列

2. workqueue(linux kernel 工作队列)

posted @ 2025-09-10 19:27  苏格拉底的落泪  阅读(6)  评论(0)    收藏  举报