标签: procfs

解析/ proc /文件是否安全?

我想解析/proc/net/tcp/,但它安全吗?

我应该如何打开和读取文件,/proc/而不是害怕,某些其他进程(或操作系统本身)将在同一时间更改它?

c c++ unix linux procfs

148
推荐指数
5
解决办法
1万
查看次数

Python中的sscanf

我正在寻找与sscanf()Python 相当的东西.我想解析/proc/net/*文件,在CI中可以做这样的事情:

int matches = sscanf(
        buffer,
        "%*d: %64[0-9A-Fa-f]:%X %64[0-9A-Fa-f]:%X %*X %*X:%*X %*X:%*X %*X %*d %*d %ld %*512s\n",
        local_addr, &local_port, rem_addr, &rem_port, &inode);
Run Code Online (Sandbox Code Playgroud)

我首先想到的是str.split,但是它不会拆分给定的字符,而是整个sep字符串:

>>> lines = open("/proc/net/dev").readlines()
>>> for l in lines[2:]:
>>>     cols = l.split(string.whitespace + ":")
>>>     print len(cols)
1
Run Code Online (Sandbox Code Playgroud)

如上所述,应该返回17.

是否有一个等价于sscanf(不是RE)的Python ,或者标准库中的字符串拆分函数,它分裂了我不知道的任何一系列字符?

python parsing split scanf procfs

59
推荐指数
5
解决办法
11万
查看次数

获取OS X中的打开文件(描述符)列表

我想在os x(10.9.1)的进程中获取一个打开文件的列表.在Linux中我能够从中获得/proc/PID/fd.但是我不确定如何在OS X上获得相同的结果.我发现OS X上没有procfs(默认情况下.可能的实现存在,但我不想那样).

那么我如何(在本机上)获取OS X上进程中打开文件的列表.一种方法是lsof.有没有其他支持?请告诉我在哪里可以获得更多相关信息.

谢谢.

macos file-descriptor procfs osx-mavericks

51
推荐指数
5
解决办法
5万
查看次数

仅使用proc获取本地网络接口地址?

如何仅使用proc获取所有网络接口的(IPv4)地址?经过一番广泛调查后,我发现了以下内容:

  1. ifconfig利用SIOCGIFADDR,需要打开套接字并提前了解所有接口名称.它也没有记录在Linux上的任何手册页中.
  2. proc包含/proc/net/dev,但这是一个接口统计信息列表.
  3. proc包含/proc/net/if_inet6,这正是我所需要的,但对于IPv6.
  4. 通常接口很容易找到proc,但实际地址很少使用,除非明确部分连接.
  5. 有一个系统调用getifaddrs,这是一个非常"神奇"的功能,你期望在Windows中看到它.它也在BSD上实现.然而,它不是非常面向文本的,这使得很难使用非C语言.

python linux networking ipv4 procfs

39
推荐指数
5
解决办法
4万
查看次数

如何知道linux调度程序的时间片?

我正在寻找Linux内核的时间片(或量子)的值.

有没有/proc公开此类信息的文件?

(或)它在我的发行版的Linux头文件中是否定义良好?

(或者)是否有Linux API(可能是sysinfo)的C函数公开此值?

提前致谢.

c linux linux-kernel embedded-linux procfs

39
推荐指数
5
解决办法
5万
查看次数

/ proc/[pid]/io中的计数器是什么意思?

我正在为Munin创建一个插件来监控命名进程的统计信息.其中一个信息来源是/proc/[pid]/io.但我很难找出rchar/ wcharread_bytes/ 之间的区别written_bytes.

它们不一样,因为它们提供不同的值.它们代表什么?

linux linux-kernel procfs

34
推荐指数
1
解决办法
2万
查看次数

/ proc中可能的内部套接字状态列表

我想知道st列的可能值/proc/net/tcp.我认为该st列等于netstat(8)或来自的STATE列ss(8).

我设法确定了三个代码:

sl  local_address rem_address   st tx_queue rx_queue tr tm->when retrnsmt   uid  timeout inode
0: 0100007F:08A0 00000000:0000 0A 00000000:00000000 00:00000000 00000000     0        0 7321 1 ffff81002f449980 3000 0 0 2 -1                     
1: 00000000:006F 00000000:0000 0A 00000000:00000000 00:00000000 00000000     0        0 6656 1 ffff81003a30c080 3000 0 0 2 -1                     
2: 00000000:0272 00000000:0000 0A 00000000:00000000 00:00000000 00000000     0        0 6733 1 ffff81003a30c6c0 3000 0 0 2 -1                     
3: 0100007F:0277 00000000:0000 0A 00000000:00000000 …
Run Code Online (Sandbox Code Playgroud)

sockets linux ipv4 ipv6 procfs

23
推荐指数
1
解决办法
2万
查看次数

/ proc/meminfo中的条目

我可以理解/ proc/meminfo中包含的大部分信息,如总内存,缓冲区,缓存等.你能告诉我,下面列出的那些不太明显的是什么意思?

  • AnonPages
  • 映射
  • NFS_Unstable
  • 弹跳
  • VmallocTotal
  • VmallocUsed
  • VmallocChunk

如果有人想知道,我在谈论linux命令cat/proc/meminfo的输出

linux memory procfs

21
推荐指数
2
解决办法
5万
查看次数

获取Linux进程资源使用情况(cpu,磁盘,网络)

我想使用/ proc每秒查找特定进程的资源使用情况.资源包括cputime,磁盘使用情况和网络使用情况.我查看/ proc/pid/stat,但我不确定我是否收到了所需的详细信息.我想要所有3个资源使用,我想每秒监视它们.

linux resources cpu-usage procfs

17
推荐指数
2
解决办法
2万
查看次数

Linux/proc/pid/smaps比例交换(如Pss但交换)

看来(从查看Linux内核源代码),Swap:度量标准/proc/pid/smaps是给定pid可访问的总交换.

在涉及共享内存的情况下,这似乎是实际交换使用的过度近似.例如,当将父pid与其分叉子节点的交换使用相加时,如果它们在交换中具有共同的共享内存,则看起来该部分(交换的共享内存)被计数多次(每个pid一次).

我的问题是,是否有办法根据共享它的进程数量(类似于Pss:)计算出公平交换使用指标.

linux procfs mmu

17
推荐指数
1
解决办法
843
查看次数