logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

linux信号处理、killall、SIGALRM、sigaction函数和结构体、向进程发送信号

<br /><br />向进程发送信号:<br />killall -14 stats_process_c 2>/dev/null  <br />给统计中间件发送一个闹钟信号SIGALRM(14),统计中间件stats_process_c接收到此信号后执行特定函数对统计文件进行处理。<br />        Linux中pause()函数使调用进城挂起直到捕捉到一个信号。只有执行了一个信号处理程

#linux#中间件
linux 自旋锁和信号量

自旋锁最多只能被一个可执行线程持有(读写自旋锁除外)。自旋锁不会引起调用者睡眠,如果一个执行线程试图获得一个已经被持有的自旋锁,那么线程就会一直进行忙循环,一直等待下去(一直占用CPU),在那里看是否该自旋锁的保持者已经释放了锁,"自旋"一词就是因此而得名。由于自旋锁使用者一般保持锁时间非常短,因此选择自旋而不是睡眠是非常必要的,自旋锁的效率远高于互斥锁。信号量和读写信号量适合于保持时间较长的情况

#linux#测试
linux内核可装载模块(lkm)传参机制

<br />对于如何向模块传递参数,Linux kernel 提供了一个简单的框架。其允许驱动程序声明参数,并且用户在系统启动或模块装载时为参数指定相应值,在驱动程序里,参数的用法如同全局变量。<br />  使用下面的宏时需要包含头文件。<br />  通过宏module_param()定义一个模块参数:<br />module_param(name, type, perm);<br />nam

#linux
到底了