【linux – 限制程序可以使用的系统库】教程文章相关的互联网学习教程文章

与设备通信的Linux程序

我可以编程,但我真的不太了解计算机.我正在使用Ubuntu Linux,而且我(从表面上看)了解了哪些设备文件.我想做的是编写一个从设备获取原始输入的程序,例如鼠标,键盘,网络摄像头或麦克风.我不知道从哪里开始.有一本名为Linux Device Drivers的书,但我不知道这本厚书中包含的所有信息是否相关.我不打算写设备驱动程序,虽然如果那是我想做的事情,那么我会这样做.但是,我只是想编写一个C或(最好)一个Python程序,它从设备获取原始输入并使用...

用于Linux设备驱动程序开发的书籍/教程/视频讲座

开始研究Linux中的设备驱动程序开发.我来自学术背景.从Robert Love的book开始,了解更多关于基础知识的知识.然后开始阅读Ori Pomerantz的Linux Kernel Module Programming Guide.但感觉设备驱动程序的书有点难以理解.寻找一些很好的讲座/书籍来解释Linux设备驱动程序开发.一长串清单将有助于读者解决方法:你可以看看这本优秀的书 – http://lwn.net/Kernel/LDD3/.我经常使用它并发现它非常好并且很有帮助.希望它能为你做同样的事情...

Linux USB驱动程序探针()问题【代码】

我目前正在为Seowon SWU-3220A WiMAX USB调制解调器开发内核模式USB驱动程序.它是一个复杂的设备(插入后它在系统中显示为USB CDROM,驱动程序需要将其切换到调制解调器模式).我的问题是我的驱动程序中的probe()函数永远不会被调用.我认为这是因为操作系统使用标准的USB大容量存储驱动程序而不是我自己的. 我初始化驱动程序如下:#define GDM7213_VENDOR_ID 0x1076 #define GDM7213_PRODUCT_ID 0x7f40static struct usb_device_id gd...

linux – 什么是-lnuma以及什么程序使用它进行编译?【代码】

我正在Linux桌面上使用openmpi和mpicxx编译消息传递程序.我的makefile执行以下操作:mpicxx -c readinp.cpp mpicxx -o exp_fit driver.cpp readinp.o 此时我收到以下错误:/usr/lib64/gcc/x86_64-suse-linux/4.5/../../../../x86_64-suse-linux/bin/ld: cannot find -lnuma我的问题是: 什么是-lnuma?什么在使用它?我应该怎么去链接呢?解决方法:构建脚本找不到numa库 – NUMA(非统一内存访问). -l选项告诉链接器链接库,但是系统...

Linux守护程序localhost工作但不是实际的IP【代码】

我现在正在学习APUE.2e(UNIX环境中的高级编程,第二版),并且已经学习了第16章网络IPC:套接字.当我运行程序ruptime(用于客户端)和ruptimed(用于服务器端)时,发生了一些奇怪的事情.客户端程序显示客户端命令,该命令与服务器通信以从a获取输出system的uptime命令和服务器程序ruptimed(注意’d’)接收命令,exec的uptime命令并将正常运行时间的输出返回给客户端.这两个程序编译好了,我将ruptime 4000 / tcp添加到文件/ etc / service中,...

Linux shell不执行我的c程序【代码】

在一些服务器更新后,我无法执行C程序(它昨天正在工作,我的服务器中的某些内容已更改,导致此问题). 我在这个文件夹/ home / int / exe /一个名为aesdecript的程序中获得777权限.因此,如果以root身份键入以下命令:$cd /home/int/exe/ $./aesdecrypt -bash: /home/int/exe/aesdecrypt: No such file or directory $sh aesdecrypt aesdecrypt: 1: Syntax error: "(" unexpected $ldconfig aesdecrypt ldconfig: relative path `aesdec...

linux – 程序是否可以采用用户的权限,还是被所有者完全限制?【代码】

例如,当root用户在* nix环境中运行程序,但程序所有者是非root用户时,该程序是否可以执行具有root权限的操作?解决方法:应用程序的权限由执行程序的用户确定. 如果它将获取所有者的权限,例如,sudo命令将不会产生任何影响.此外,/ bin(或任何其他系统位置)中的大多数应用程序都归root用户所有(因此无法(轻松)修改它们),但仍然使用用户权限执行. 注意,如果程序设置了setuid or setgid位,则分别以用户和/或组权限启动应用程序.这允许常规...

Linux下执行程序出现 Text file busy 时的解决办法

原文链接:https://blog.csdn.net/zhangxiaoyang0/article/details/82500924Linux下执行程序出现 Text file busy 时的解决办法。 使用 fuser 命令查看程序文件被哪个进程占用,然后用 kill 命令杀死该进程,即解决问题。fuser命令是用来显示所有正在使用着指定的file, file system 或者 socket 的进程信息。 如下:[root@localhost]# fuser <程序文件名> <程序文件名>: 50340 [root@localhost]# kill -9 50340 注:在普通用...

使用Linux虚拟鼠标驱动程序【代码】

我正在尝试根据Essential Linux设备驱动程序手册实现虚拟鼠标驱动程序.有一个用户空间应用程序,它生成坐标和内核模块. 请参阅:Virtual mouse driver and userspace application code以及有关如何使用此驱动程序的step by step. 1.)我编译了用户空间应用程序和驱动程序的代码. 2.)接下来我检查了dmesg输出并且,input: Unspecified device as /class/input/input32 Virtual Mouse Driver Initialized3.)sysfs节点在初始化期间正确创...

linux – 如何从内核模块向用户空间应用程序发送“信号”?

我有一个Linux内核模块,其中包含中断处理程序,并希望在处理完中断后以某种方式通知用户空间应用程序.请告诉我,怎么做?解决方法:>您始终可以使用普通套接字,如UDP或UNIX.>您可以通过/ proc或/ sys导出此信息(请参阅this问题).>您可以使用Netlink(参见this问题).

程序被杀时,Linux套接字释放得太慢【代码】

编辑:tl;博士: 不要用错误的选项打开插座,它不太可能工作! 原始问题: 我正在使用一个没有干净关闭机制的程序,它只是依赖于终止它而被杀死. 它打开一个套接字如下:(void) setsockopt(h, SOL_SOCKET, (SO_KEEPALIVE | SO_REUSEADDR), (int *) & optval, sizeof( optval ));重用地址选项似乎确实有效,因为程序最终会在程序死后释放.最终成为从几秒钟到一刻钟的任何东西. 这非常繁琐,因为我需要定期重启这个程序.使程序正确地发挥...

交叉编译用于嵌入式linux arm的FTDI VCP驱动程序

我正在尝试为我的嵌入式arch linux arm机器交叉编译FTDI VCP驱动程序.我将源文件从http://www.ftdichip.com/Drivers/VCP.htm下载到运行内核的主机上: 2.6.32-54-仿制PAE 运行Makefile时,我收到与内核头相关的错误,即:找不到asm / thread_info.h文件.我意识到这意味着我的asm符号链接已被破坏,所以我尝试将其链接到 Linux的头-2.6.32-54 /包括/ ASM泛型 但该目录的内容也不包括thread_info.h,我正试图找到它. 是否有人使用Ubuntu作...

linux – 是否有必要由程序员明确刷新组合内存?

我知道写入组合写入将被缓存,并且不会直接到达内存.但是,在其他人可以访问之前,程序员是否有必要明确地清除这个内存? 我从图形驱动程序代码中得到了这个问题.例如,CPU填充顶点缓冲区(映射为WC).但在GPU访问之前,我没有在代码中看到任何刷新操作.架构(x86)已经为我们解决了这个问题吗?关于这个的更详细的文件?解决方法:根据英特尔64和IA-32架构软件开发人员手册,第3A卷:系统编程指南,第1部分(2012年8月版,但这不应该更改),第11....

如何在linux中安全地关闭大型c应用程序?

我有大型多线程c应用程序,它基本上做了很多工作,比如在linux上运行的本地服务器,sql数据库通信,sip等.我想关闭linux机器,使用“sudo shutdown -h now” 在关闭系统之前我应该??关闭我的应用程序吗?什么是关闭我的应用程序的安全方法. 如果我使用“sudo kill -9 pID”关闭我的应用程序,那么可能是我丢失了某些应用程序状态,我的系统可能会进入糟糕的状态. 例如:假设我正在读取和写入c中的文件,并且关闭命令来了,会发生什么?我应该...

Linux IRQ处理程序中的固有竞争条件【代码】

假设有一个端口映射的I / O设备,它可以在IRQ线上任意产生中断.可以通过对特定寄存器的单个外部调用来清除设备的待处理中断. 此外,假设通过request_irq将跟随中断处理程序分配给相关的IRQ行:irqreturn_t handler(int irq, void *data) {/* clear pending IRQ on device */outb(0, CLEAR_IRQ_REGISTER_ADDR);/* device may generate another IRQ at this point,* but this handler function has not yet returned *//* signal kerne...