/proc/pid/mountinfo
文件的目的是什么(pid是数字进程 ID)?
据我所知,它反映了/proc/mounts
文件的内容,但附加了信息。
此外,该文件似乎对所有进程都保持不变:两个随机选择的进程的 diff 不返回任何输出 ( diff /proc/3833/mountinfo /proc/2349/mountinfo
)
请注意,我不是在问它包含什么。从互联网上的定义中,我看到“此文件包含有关挂载点的信息。”。我在问为什么它存在于每个进程目录中?它在那里的目的是什么?
据我了解,如果我输入以下内容...
python -i
Run Code Online (Sandbox Code Playgroud)
... python 解释器现在将从标准输入读取,行为(显然)如下:
>>> print "Hello"
Hello
Run Code Online (Sandbox Code Playgroud)
如果我这样做,我希望它做同样的事情:
echo 'print "Hello"' > /proc/$(pidof python)/fd/0
Run Code Online (Sandbox Code Playgroud)
但这是输出(beeing 一个实际的空行):
>>> print "Hello"
<empyline>
Run Code Online (Sandbox Code Playgroud)
这对我来说看起来像,它只是把它print "Hello"\n
写到了 stdout
,但没有解释它。为什么这不起作用,我必须做些什么才能使它起作用?
可能重复:
/proc/PID/fd/X 链接号
我有一个关于文件描述符及其在 proc 文件系统中的链接的问题。我观察到,如果我从 proc 列出某个进程的文件描述符,ls -la /proc/1234/fd
我会得到以下输出:
lr-x------ 1 root root 64 Sep 13 07:12 0 -> /dev/null
l-wx------ 1 root root 64 Sep 13 07:12 1 -> /dev/null
l-wx------ 1 root root 64 Sep 13 07:12 2 -> /dev/null
lr-x------ 1 root root 64 Sep 13 07:12 3 -> pipe:[2744159739]
l-wx------ 1 root root 64 Sep 13 07:12 4 -> pipe:[2744159739]
lrwx------ 1 root root 64 Sep 13 07:12 5 -> socket:[2744160313]
lrwx------ 1 …
Run Code Online (Sandbox Code Playgroud) 在我的 Android 设备上,有一个名为/proc/net/unix
who's content的文件 不符合任何标准linux 发行版的文件(显示 unix 域套接字。)前几行:
Num RefCount Protocol Flags Type St Inode Path
00000000: 00000002 00000000 00000000 0002 01 5287581 /data/misc/wifi/sockets/wpa_ctrl_789-3189
00000000: 00000003 00000000 00000000 0001 03 6402 /dev/socket/qmux_radio/qmux_client_socket 297
00000000: 00000002 00000000 00010000 0001 01 7180 /dev/.secure_storage/ssd_socket
00000000: 00000002 00000000 00010000 0001 01 6424 /dev/socket/cnd
00000000: 00000002 00000000 00010000 0001 01 6400 @QMulticlient
...
Run Code Online (Sandbox Code Playgroud)
(1) 这些不同的列代表什么?
编辑:好的,我发现了这个:
这里'Num'是内核表槽号,'RefCount'是套接字的用户数,'Protocol'当前始终为0,'Flags'代表保持套接字状态的内部内核标志。当前,类型始终为“1”(内核尚不支持 Unix 域数据报套接字)。'St' 是套接字的内部状态,Path 是套接字的绑定路径(如果有)。
但是,这不是最新的,因为我们有一个type
并且没有澄清“内部状态”的含义。
(2) 同样在路径的末尾,有时会有一个没有自己列名的附加数字。那是什么?
此外,我可以在内核源代码中的哪个位置找到它的创建位置? …
在 Linux 上,我想知道哪个进程使用我的磁盘 I/O 带宽。
我知道我可以使用,iotop
但我有一台由于各种原因iotop
无法安装的机器。
如何手动获取该信息?(它iotop
本身是如何进行的?)
我这里有一台几乎通用的 Linux 机器。所以,它有一个 PCI(*-X 等)总线,在一些 USB 控制器上,我在这些 USB 控制器上有 USB 设备。与此类似:
$ lspci|grep USB
00:12.0 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 USB OHCI0 Controller
00:12.2 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 USB EHCI Controller
00:13.0 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 USB OHCI0 Controller
00:13.2 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 USB EHCI Controller
00:14.5 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 USB OHCI2 Controller
00:16.0 USB controller: Advanced Micro Devices, …
Run Code Online (Sandbox Code Playgroud) /proc/4587
即使没有具有 PID 4587 的进程,是否可能存在类似文件夹?
我禁用了大部分条目/proc/acpi/wakeup/
以确保只有电源按钮和笔记本电脑盖可以恢复我的系统,而不是鼠标或键盘。问题是:每次我重新启动时,设置都会由于某种原因重置。
有没有办法使这些更改永久化?有一些解决方法可以将命令放入与某些唤醒例程挂钩的脚本中,但真的没有其他解决方案吗?
我使用的是 Debian/Gnome Windows 10 双启动笔记本电脑
[root@datacenteronline ~]# ssh root@192.168.1.172
Last login: Wed Apr 17 09:55:45 2013 from 192.168.1.187
[root@localhost ~]# ls /proc/ | grep 2266
[root@localhost ~]# cd /proc/2266
[root@localhost 2266]# ls
attr cpuset limits net root statm
autogroup cwd loginuid numa_maps sched status
auxv environ maps oom_adj schedstat syscall
cgroup exe mem oom_score sessionid task
clear_refs fd mountinfo oom_score_adj smaps wchan
cmdline fdinfo mounts pagemap stack
coredump_filter io mountstats personality stat
[root@localhost 2266]# ls -al /proc/2266
total 0
dr-xr-xr-x 7 apache apache 0 Apr …
Run Code Online (Sandbox Code Playgroud) 目录结构和文件系统有什么区别?
Unix/Linux目录和文件系统如下所示:
下面两个目录显然是我们认识的目录。
/home/abc/xyzdir1 --is a directory
/home/abc/xyzdir2 -- is a directory
Run Code Online (Sandbox Code Playgroud)
以下三个示例都在说文件系统。
/proc -- is a file system
/ -- is a file system
/bin -- is a file system
Run Code Online (Sandbox Code Playgroud)
如何从上述代码片段中确定哪个是文件系统和目录?
proc ×10
linux ×6
filesystems ×2
process ×2
android ×1
debian ×1
io ×1
mount ×1
open-files ×1
pci ×1
pipe ×1
scripting ×1
shell-script ×1
socket ×1
suspend ×1
sysfs ×1
unix-sockets ×1
usb ×1