【在Linux中获取C中的主音量】教程文章相关的互联网学习教程文章

以编程方式获取Linux上的代理信息【代码】

我目前正在使用libproxy来获取RedHat和Debian Linux上的代理信息(如果有的话).它不能很好地工作,但它是我知道我可以用来从我的代码中获取代理信息的唯一方法.我需要停止使用lib,因为在大多数情况下它不能识别代理.有没有办法获取代理信息?我的意思是,是否有我可以阅读的文件(或文件组),或者我可以用来获取信息的env变量或API或系统调用?基于Gnome的代码是可以的,KDE可能也有帮助,但我正在寻找更通用的东西.代码是C. 现在,在有人要...

如何以编程方式获取在linux机器上登录的用户数量?

我想知道是否有可能以编程方式获取在C中的Linux机器上登录的用户数量?我做了一些研究并发现了关于utmp.h但是由于并非所有程序都使用utmp日志记录,我认为它不够准确.提前感谢愿意提供帮助的任何人. 编辑:我为没有更具体的人道歉,但当我说登录用户时,我指的是通过shell登录的任何人.基本上是在没有命令行参数的情况下运行who命令时得到的结果.解决方法:你的目标是Linux,你说你想做谁做的事情.如果您的软件不会被分发或获得GPL许可,...

linux – 如何使用git-archive获取GNU tar的–strip-components的效果?【代码】

从广义上讲,我想要的是直接的tar-to-tar转换,其结果的根只包含原始的特定目录子树. 举一个例子来说明,我只想从git的存储库中获取gitweb directory.运行$git archive --prefix=git-gitweb/ master gitweb | tar tf - 给git-gitweb/ git-gitweb/gitweb/ git-gitweb/gitweb/INSTALL git-gitweb/gitweb/Makefile git-gitweb/gitweb/README git-gitweb/gitweb/gitweb.perl git-gitweb/gitweb/static/ git-gitweb/gitweb/static/git-favi...

如何从C程序获取Linux上的主板ID

我想在没有root权限的情况下从Linux(Ubuntu)上的C程序中检索主板ID.我知道dmidecode可以做到这一点,但它需要root权限,所以它不适合我的需要.有没有人知道非根替代品?源代码将非常感谢.解决方法:您不必是root用户来获取信息,但您需要让root用户首先授予您权限.显然root允许安全访问他们的机器,这包括访问硬件身份信息. root控制他们机器上的软件可以做什么,你的软件不限制root可以做什么. (Linux推论到The #1 Law of Software Lice...

linux – 如何在每个样本中从profiler获取完整的堆栈转储以用于火焰图?

我非常喜欢Flame Graph用于分析的想法,因为它有助于消除不需要的函数调用.然而,有一个问题是它需要分析器在每次收集样本时执行完整的堆栈转储.这可以通过DTrace或SystemTap轻松完成,但我需要能够在运行ubuntu的ARM设备上执行此操作(这会消除DTrace).我还想在不重新编译内核的情况下执行此操作(这会消除Sys??temTap). 是否有可能获得Valgrind / Callgrind或OProfile(或其他可以在Ubuntu中的ARM设备上运行的分析工具)输出类似于:dtr...

linux – 获取shell脚本的pid并将其保存到lockfile中【代码】

我使用rsnapshot进行备份,这会创建一个带有进程pid的锁文件.现在我想从rsnapshots备份进行备份,所以我正在寻找一种方法来为第二个/外部备份创建这个锁文件. shell脚本应该是这样的: >检查是否存在锁定文件,如果是,请等待再试一次(我正在使用while循环执行此操作)>获取此shell脚本的pid并将其另存为rsnapshot lockfile>启动第二个/外部备份>删除锁文件 如何获取PID并将其另存为rsnapshot lockfile?解决方法:PID存储在$$中 喜欢ech...

linux – 获取星期一和星期日等等一周的任何日期作为Unix中的参数【代码】

如何在一周内获得星期一和星期日的约会日期? 这给出了’last’星期一的日期:date -dlast-monday +%Y%m%d我想传递一个日期作为参数来查找该周的周一和周日.基本上,我希望周日和周一可以获得一周,任何日期,不仅仅是上周一.解决方法:试试这个:export day=2013-10-01 date -d "$day -$(date -d $day +%w) days"这将始终打印在给定日期(或日期本身)之前的星期日.date -d "$day -$(date -d $day +%u) days"这将始终打印给定日期之前的...

linux – 在ksh中获取字符串的最后n个字符【代码】

假设我有一个包含一些字符串值的变量名 要获取最后n个字符,在bash中我们写:$echo "${name: -n}"什么是ksh中的等效方式,我已经看过sed和awk方法,但我正在寻找的是一行或管道解决方案类似于bash来提取最后一个字符 到目前为止,这些是错误和努力:AB12 $name="123456"AB12 $echo ${name:(-3)} ksh: ${name:(-3)}: bad substitutionAB12 $echo${name:0:-3} ksh: echo${name:0:-3}: bad substitutionAB12 $print ${name%?} 12345AB12 $...

linux – 如何获取CSV文本文件中特定字段的最大值?【代码】

我的文本文件示例中的每一行(CSV,逗号分隔)如下:2016-01-10,23:56:07,10,71,47可以看出,字段3,4和5是数值. 对于每一行,我只想获得字段3和4的最大值.例如:awk -F ',' '{print max($3,$4)}'(可能不是真正的AWK语法,这个,但它是我能想到的最接近的).因此,对于上述行,结果数字将为“71”. 更多行的示例:2016-01-10,23:53:07,6,99,41 2016-01-10,23:54:07,10,88,44 2016-01-10,23:55:07,31,71,46 2016-01-10,23:56:07,71,10,47结果:...

linux – 如何从安装的RPM中获取许可证列表?【代码】

我们被要求列出我们组织中使用的所有软件和许可证.在没有决定这个请求的价值的情况下,我想让我的Fedora笔记本电脑轻松回答这个问题.rpm -qa给我一个包列表,但没有许可证数据.我的下一步是获取该输出并编写一个脚本来查询每个包的许可证. 有人有更简单的想法吗?解决方法: rpm -qa --qf "%{name}: %{license}\n"

使用pcap获取Linux接口的IP地址【代码】

有没有办法如何使用libpcap在Linux中获取接口的IP地址? 我发现了这个,Get IP address of an interface on Linux,但不使用pcap. 此外,在pcap示例中,据说像this这样的东西应该获得你的IP,但它会为你提供你的网络地址.解决方法:使用pcap_findalldevs函数:#include <pcap/pcap.h> #include <arpa/inet.h>static char errbuf[PCAP_ERRBUF_SIZE];int main() {pcap_if_t *alldevs;int status = pcap_findalldevs(&alldevs, errbuf);if(s...

c – linux中的pthread_mutex_t是否为reentrancy(如果一个线程试图获取它已经拥有的锁,请求成功)

我来自Java,所以我熟悉同步而不是互斥.我想知道pthread_mutex_t是否也是重入.如果没有,还有另一种机制吗? 谢谢解决方法:这取决于互斥锁类型,默认情况下不进行检查,并且尝试在同一线程中多次锁定它会导致未定义的行为.阅读它here. 您可以创建PTHREAD_MUTEX_RECURSIVE类型的互斥锁,以便能够递归锁定它,这是通过向pthread_mutex_init提供具有所需互斥锁类型的pthread_mutexattr_t来完成的.

如何从Linux中的ftrace中的特定函数开始获取完整的调用图?【代码】

我想用ftrace跟踪特定的函数,但是需要来自该函数的所有进一步调用. 我已经设法在我想要的功能上使用过滤器启动ftrace,但现在它只显示了这个特定的函数. 所以我的问题是:如何打印从特定函数调用的所有函数,这些函数调用的函数,等等?解决方法:您还可以设置max_graph_depth并获得更多功能图的深度. 以下步骤将有助于生成所选linux函数的函数图.1. cd /sys/kernel/debug/tracing 2. cat /dev/null > trace 3. echo generic_make_req...

linux – 获取WIFI信号强度 – 寻求最佳方式(IOCTL,iwlist(iw)等)

我想扫描从3 AP收到的信号强度.如果每300毫秒(最长500毫秒)发生这种情况,我会很高兴.我在路由器上刷了OpenWRT. 我正在寻找一个很好的工具来做到这一点.首先,我发现iwconfig有效,但只有我连接的网络.所以我使用了iwlist(我没有工作 – 也许我需要更新它?).你知道它的输出有多准确吗?我能相信吗? 之后,我遇到了IOCTL.它看起来非常强大*和专业.但是获得来自WIFI的信号强度的输出是否比iwlist / iw这样的简单方法更可靠? *甚至太强...

linux – 获取chrome浏览器的最新发行版本号【代码】

我试图找出一种相当稳定的方式来以编程方式确定Chrome浏览器的最新版本号. 它不一定是防故障的,因为它只是一个很好的功能,只要结果看起来“可疑”,我就可以混合使用. >似乎没有API(有吗?).>我不想依赖第三方手动处理这些东西.>我不想解析任何网站输出. 所以我最终获取了git文件. 我的第一个方法是获取此文件:https://chromium.googlesource.com/chromium/src.git/+/master/chrome/VERSION?format=TEXT其中给出了最新版本号.从那里...