【c – 在C Linux中捕获系统事件】教程文章相关的互联网学习教程文章

linux-xcb_grab_key上没有错误,但是没有捕获事件循环(全局热键)【代码】

我正在尝试在Linux上设置全局热键. 我最初使用x11(libX11.so),但是我必须从线程执行此操作.我尝试过,但是XPendingEvent和XNextEvent最终会使应用程序崩溃. 所以我切换到xcb(libxcb.so.1).没有错误,我什至用xcb_request_check进行了检查,但是事件循环没有拾取任何东西.一旦开始循环,我只会得到一个看起来像这样的事件:{response_type: 0,pad0: 10,sequence: 2,pad: [620, 2162688, 0, 0, 0, 0, 0],full_sequence: 2 }这是我的代码,...

linux-如何在Ubuntu Jaunty下从HID设备读取事件?【代码】

我有一个Linux USB HID设备(Hama MCE),可以通过读取cat / dev / input / event7和cat / dev / input / event8手动读取其事件.每当我按设备上的一个键时,上面的cat命令之一就可以读取几个字节.我在计算机上默认安装了Ubuntu Jaunty 64位桌面. 我想我可以编写一个解析器来解释设备发出的字节,或者如果更方便的话,我将使用libhid. 我的问题是: >如何防止文本模式虚拟控制台像普通按键一样接收设备上的某些按键?到目前为止,某些设备键...

c-在Linux上使用X11抢占特定键上的事件

我正在用C编写一个程序,以在运行Linux发行版的MacBook Pro上从OS X实现键盘背光功能.到目前为止,它会在启动时打开背光,并且如果在20秒钟内未注册任何键盘和鼠标事件,它将关闭背光,当然,在注册事件时会再次打??开背光.我需要程序做的下一件事是捕获键盘上的背光上/下键的按键,但是我不确定该如何处理. 我目前正在使用XScreenSaverQueryInfo来获取键盘和鼠标事件的空闲时间,因此使用X11 API的方法是可以的.我做了很多谷歌搜索,但还没...

linux-`epoll_wait`是否表示同时添加EPOLLIN和EPOLLOUT时触发了哪个事件?

假设在添加描述符以使用epoll_wait进行监视时,我同时指定了EPOLLIN和EPOLLOUT标志.从“ epoll”联机帮助页中,我们不清楚作为数组一部分返回的每个epoll_event结构在其事件字段中究竟携带什么.报价:the events member will contain the returned event bit field.这是否意味着无法区分是否触发了表示“可以写入”而不是“可以读取”的事件?基本上有一个事件掩码,从逻辑上讲,我希望返回的数组确切表示文件描述符上发生了哪些事件?...

linux-如何使用ftrace跟踪shell命令的所有事件?【代码】

如何使用ftrace工具跟踪cp file1 file2之类的命令? 我想查看使用cp file1 file2时调用的所有函数,但我不知道该怎么做.谁能帮助我,并在执行该操作的终端上写下确切的命令?解决方法:使用以下脚本,您可以使用它来跟踪所需的任何命令.取自here,我稍作修改,可以在/tmp/mytrace.txt获得跟踪的输出.用法示例:script.sh cp file1 file2#!/bin/bash DPATH="/sys/kernel/debug/tracing" PID=$$ TEMP="/tmp/mytrace.txt" ## Quick bas...

linux-如何检测系统电源事件,例如暂停,休眠等【代码】

我想制作一个Linux应用程序,以便在本地系统(应用程序运行所在的地方)即将挂起,休眠或关闭时,将消息发送到远程主机.我用谷歌搜索了如何做,发现了acpi_listen,但是它不起作用. 这是ps aux的结果|我测试的系统上的grep acpi(Ubuntu 10.04 LTS):root 35 0.0 0.0 0 0 ? S Dec03 0:00 [kacpid] root 36 0.0 0.0 0 0 ? S Dec03 0:00 [kacpi_notify] root 37 0.0 0...

linux – perf_event_open – 如何监控多个事件【代码】

有谁知道如何设置perf_event_attr结构,可以触发PMU通过perf_event_open()监控多个(类型)事件? 与perf记录-e周期一样,故障ls,它有两种不同的事件类型(PERF_TYPE_HARDWARE和PERF_TYPE_SOFTWARE),但在perf_event_open’s manpage的示例中,perf_event_attr.type只能分配单个值. 任何建议将不胜感激,谢谢! 20170208更新感谢@gudok指点我的方向,但结果似乎有些异常.演示程序如下(用于测量整个系统的CPU周期和缓存未命中):#define _GNU...

python – 用于水平边缘滚动的Tkinter事件(在Linux中)是什么?【代码】

我有一个带滚动条的Python Tkinter Text小部件.我想定义自己的方法在笔记本电脑的触摸板上使用水平边缘滚动.但是,我不知道允许我这样做的事件名称.垂直事件工作正常(按下shift并使用垂直边缘滚动进行水平滚动也是如此).我正在寻找什么活动名称?它们似乎不是“< Button-6>”和“< Button-7>”,因为这些会给出错误;例如 _tkinter.TclError:非键事件的指定keysym“6” 我不确定“< Button-6>”是什么与钥匙有关,但没关系. 我正在使用...

2.linux系统基础笔记(延时操作、实时系统中的定时器、事件)

延时操作 延时操作是操作系统中经常遇到的一种情形。延时的原因很多,有的时候是为了等待外设芯片处理结束,有的时候是为了暂时释放cpu的使用权,有的就是为了希望在一段时间获取资源,如果没法在单位时间内获取,放弃等待。但是不管怎么说,延时都是操作系统必不可少的一个工作。下面我们就看看延时是怎么实现的,static void tick_list_priority_insert(LIST *head, RAW_TASK_OBJ *task_ptr) { RAW_U32 val;LIST *q,*start, *end...

Linux的uevent事件机制

原文链接:https://blog.csdn.net/qq_30624591/article/details/92439991转自:https://blog.csdn.net/qq_30624591/article/details/92439991 uevent事件机制 Linux设计了一种uevent的机制。当有新的设备加入的时候,将设备的信息发送消息到用户态。而用户态有一个udev的进程监听这个信息。当收到信息后做一定的解析,根据解析到的结果和用户程序的配置做一些处理,也包括加载驱动程序。 内核部分,Uevent是Kobject的一部分,用于在...

使用基于事件的界面进行OS X / Linux音频播放?

我正在开发一个用于Linux / OS X的流式音频播放器,其中有一个奇怪的用例,它使我确信任何已经存在的内容都无法正常工作.对于第一部分,我只想接收MP3数据并播放它.我目前正在使用libmad进行解码,使用libao进行回放.我的问题是libao,我不相信这是我最好的选择. 特别是,ao_play函数是阻塞的.在播放传递给它的整个缓冲区之前,它不会返回.这没有足够的时间来解码对ao_play的调用之间的块,因此解码必须完全提前或同时进行.由于这是打算流式...

linux – 在dev节点输入事件上重定向或触发【代码】

当数据在开发节点可用时是否可以触发事件?很简单,如果某个小部件设备通过usb将信息发送到我的linux盒子,是否有可能陷入某个事件处理程序,该处理程序产生一个进程来处理数据? 当然,我总是可以运行等待传入数据的服务,但我只是很想知道有哪些选项可用. 此外,如果没有任何内容正在侦听开发节点,那么从外部写入的数据会发生什么?它是缓冲的吗?多长时间? 我的设备是串行转换器桥.它在/ dev / ttyUSBx下注册自己.我可以读取数据,因为...

在Linux下等待以太网电缆插件/插件事件?

我知道我可以通过SIOCETHTOOL / ETHTOOL_GLINK ioctl轮询链接状态,但这需要无休止地请求状态.解析/ var / log / messages也是如此.所以我的任务是,在Linux下有什么方法可以等待用户空间的以太网电缆的状态更改?解决方法:ifplugd怎么样?ifplugd is a Linux daemon which will automatically configure your ethernet device when a cable is plugged in and automatically unconfigure it if the cable is pulled. This is useful...

如何在Linux上捕获挂载事件?【代码】

如果USB驱动器发生挂载或卸载,我想以某种方式得到通知. 目前我使用udev,然后在/ proc / mounts中等待x秒以获取新条目.如果安装是自动的,这可以正常工作.但是,如果用户手动卸载/安装设备,则无法使用此功能. 有没有办法捕捉这些事件?解决方法:如果轮询没问题,你可以查看mtab上的时间:import time, os last = None current = Nonefor x in range(0,60):if last == current:current = os.stat('/etc/mtab').st_mtimeprint('Current U...

linux – 交换事件后立即释放交换空间【代码】

我使用我的Linux机器进行大量的计算工作,有时特定的计算会占用大量的RAM.当我完成后,我最终会使用一堆交换和一堆可用内存,如果我照常开展我的业务,??那么机器上的所有其他进程都会有点滞后,直到它们被换回来如果有一个命令可以快速将所有东西都重新放回RAM中,那么好像我可以运行它然后站起来去使用洗手间或其他什么东西,当我回来时一切都会很快. 我发现this question表明你可以完成这个(至少在Linux上)sudo swapoff -a sudo swapon...