是否有一种干净、简单的方法可以从 获取网络接口的 IP 地址/proc,类似于获取网络接口的 MAC 地址的方式?
理想情况下,我只输入 cat/proc/<foo>/{interface_name}并获取 IPv4 地址。
除了cat.
要知道进程何时开始,我的第一个猜测是检查/proc/<pid>/cmdline上次写入/修改的时间。
ps还显示一个START字段。我认为这两个来源是相同的。有时它们并不相同。怎么会这样?
也许我今天还没有喝足够的咖啡,但我不记得或想不出任何理由为什么/proc/PID/cmdline应该让世界可读——毕竟不是/proc/PID/environ。
使其只能由用户(当然也可能是组和 root)读取可以防止作为命令行参数输入的密码被意外泄露。
当然,它会影响其他正在运行的用户ps等等htop- 但这是一件好事,对吧?这就是不让世界可读的关键所在。
在具有当前内核和已安装微代码的 Debian Stretch 和测试/Buster 系统上,我仍然看到在/proc/cpuinfo.
然而,运行spectre-meltdown-checker显示并不脆弱。
所以我想知道什么/proc/cpuinfo显示。这些只是该 CPU 的漏洞吗?尽管系统已打补丁,但这些漏洞是否总是会被列出?
怎么可能改变env已经运行的进程中的某些变量,例如通过/proc/PID/environ?那个“文件”是read-only.
需要更改或取消设置长时间运行的批处理作业的 DISPLAY 变量而不终止它。
如果我启动一个进程然后删除它的二进制文件,我仍然可以从/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链接究竟是如何工作的?
如果我检查,/proc/1/environ我可以看到 process1的环境变量的空字节分隔字符串。我想将这些变量带入我当前的环境中。是否有捷径可寻?
该proc手册页给我一个片段,这有助于将打印出每个环境变量一行一行地的基础(cat /proc/1/environ; echo) | tr '\000' '\n'。这有助于我验证内容是否正确,但我真正需要做的是将这些变量输入到我当前的 bash 会话中。
我怎么做?
我一直想知道这一点,但从来没有花时间去了解,所以我现在就这样做 -此处显示的/proc/$$/fd/$N或的用法有多便携/dev/fd/$N?我理解POSIX 保证 /dev/null, /dev/tty, and /dev/console (尽管我前几天在阅读了这个答案的评论后才发现这一点)但是其他的呢?
据我所知,它们很常见,但我不能指望在哪些系统中找到它们?为什么不?找到一个比另一个更有可能吗?他们会总是表现出类似的属性吗?
我倾向于以各种方式广泛使用这些设备,我想知道是否有机会尝试一下。
此外,上述问题应该被理解为只是我想我想知道的,但是,因为我显然首先要问,所以我在这方面可能不是最了解的,它们不应该被视为严格的要求一个答案。如果可以,请告诉我。
更新到内核 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 ×10
linux ×6
process ×2
cpu ×1
ip ×1
linux-kernel ×1
open-files ×1
permissions ×1
portability ×1
ps ×1
random ×1
shell ×1
symlink ×1
sysctl ×1