标签: proc

如何从 /proc 获取接口的 IPV4 地址

是否有一种干净、简单的方法可以从 获取网络接口的 IP 地址/proc,类似于获取网络接口的 MAC 地址的方式?
理想情况下,我只输入 cat/proc/<foo>/{interface_name}并获取 IPv4 地址。

除了cat.

linux ip proc

35
推荐指数
3
解决办法
4万
查看次数

Linux 上的 proc 文件系统多久更新一次?

procLinux 上的文件系统多久更新一次?是 20 毫秒(时间量程)吗?

linux proc

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

进程何时开始

要知道进程何时开始,我的第一个猜测是检查/proc/<pid>/cmdline上次写入/修改的时间。

ps还显示一个START字段。我认为这两个来源是相同的。有时它们并不相同。怎么会这样?

linux process ps proc

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

/proc/*/cmdline 是世界可读的有什么原因吗?

也许我今天还没有喝足够的咖啡,但我不记得或想不出任何理由为什么/proc/PID/cmdline应该让世界可读——毕竟不是/proc/PID/environ

使其只能由用户(当然也可能是组和 root)读取可以防止作为命令行参数输入的密码被意外泄露。

当然,它会影响其他正在运行的用户ps等等htop- 但这是一件好事,对吧?这就是不让世界可读的关键所在。

linux permissions proc

31
推荐指数
2
解决办法
7455
查看次数

/proc/cpuinfo 的“错误”部分实际显示了什么?

在具有当前内核和已安装微代码的 Debian Stretch 和测试/Buster 系统上,我仍然看到在/proc/cpuinfo.

然而,运行spectre-meltdown-checker显示并不脆弱。

所以我想知道什么/proc/cpuinfo显示。这些只是该 CPU 的漏洞吗?尽管系统已打补丁,但这些漏洞是否总是会被列出?

linux cpu proc

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

更改正在运行的进程的环境

怎么可能改变env已经运行的进程中的某些变量,例如通过/proc/PID/environ?那个“文件”是read-only.

需要更改或取消设置长时间运行的批处理作业的 DISPLAY 变量而不终止它。

environment-variables proc

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

/proc/&lt;pid&gt;/exe 符号链接与普通符号链接有何不同?

如果我启动一个进程然后删除它的二进制文件,我仍然可以从/proc/<pid>/exe以下位置恢复它:

$ cp `which sleep` .
$ ./sleep 10m &
[1] 13728
$ rm sleep
$ readlink /proc/13728/exe                           
/tmp/sleep (deleted)
$ cp /proc/13728/exe ./sleep-copy
$ diff sleep-copy `which sleep` && echo not different
not different
$ stat /proc/13728/exe 
  File: ‘/proc/13728/exe’ -> ‘/tmp/sleep (deleted)’
  Size: 0           Blocks: 0          IO Block: 1024   symbolic link
Run Code Online (Sandbox Code Playgroud)

另一方面,如果我自己创建符号链接,请删除目标并尝试复制:

cp: cannot stat ‘sleep’: No such file or directory
Run Code Online (Sandbox Code Playgroud)

/proc是内核的接口。那么这个符号链接是否实际上指向加载到内存中的副本,但有一个更有用的名称?exe链接究竟是如何工作的?

linux symlink proc

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

如何获取另一个进程的环境变量?

如果我检查,/proc/1/environ我可以看到 process1的环境变量的空字节分隔字符串。我想将这些变量带入我当前的环境中。是否有捷径可寻?

proc手册页给我一个片段,这有助于将打印出每个环境变量一行一行地的基础(cat /proc/1/environ; echo) | tr '\000' '\n'。这有助于我验证内容是否正确,但我真正需要做的是将这些变量输入到我当前的 bash 会话中。

我怎么做?

shell environment-variables proc

24
推荐指数
5
解决办法
5715
查看次数

文件描述符链接的可移植性

我一直想知道这一点,但从来没有花时间去了解,所以我现在就这样做 -此处显示/proc/$$/fd/$N或的用法有多便携/dev/fd/$N?我理解POSIX 保证 /dev/null, /dev/tty, and /dev/console (尽管我前几天在阅读了这个答案的评论后才发现这一点但是其他的呢?

据我所知,它们很常见,但我不能指望在哪些系统中找到它们?为什么不?找到一个比另一个更有可能吗?他们会总是表现出类似的属性吗?

我倾向于以各种方式广泛使用这些设备,我想知道是否有机会尝试一下。

此外,上述问题应该被理解为只是我我想知道的,但是,因为我显然首先要问,所以我在这方面可能不是最了解的,它们不应该被视为严格的要求一个答案。如果可以,请告诉我。

process file-descriptors open-files proc portability

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

kernel 5.10.119 导致 /proc/sys/kernel/random/entropy_avail 和 poolsize 的值为 256

更新到内核 5.10.119 后,/proc/sys/kernel/random/entropy_avail卡在 256 并且移动鼠标时不会改变。以前是3000多。

# cat /proc/sys/kernel/random/entropy_avail  
256
Run Code Online (Sandbox Code Playgroud)

另外,/proc/sys/kernel/random/poolsize下降到 256。以前是 4096。

这是一个错误吗?你能相信这个内核的新随机数生成器只有 256 个可用熵吗?

proc random sysctl linux-kernel

22
推荐指数
2
解决办法
7739
查看次数