标签: proc

如何在共享 Linux 环境中禁用 /proc 伪文件系统?

是否有可能禁用/proc伪文件系统,以防止wpstop,等等,从展示哪些其他用户在做什么?当然,我仍然希望“其他一切”都能正常工作。有没有可行的方法来做到这一点?

linux security process proc

3
推荐指数
2
解决办法
1653
查看次数

如何获得一个非常短的过程的环境变量?

我有一个很短的过程,我想检查环境变量以进行调试。从人类的角度来看,这个过程是即时的。这个例子更好地说明了这一点。

例子

user:~$ ps aux | grep grep
user   2349  0.0  0.0   4384   840 pts/1    S+   14:47   0:00 grep --color=auto grep
Run Code Online (Sandbox Code Playgroud)

进程的 pid 是 2349。如果我检查环境变量(或其他信息):

#Pretty print of environmental variables#
user:~$ xargs --null --max-args=1 echo < /proc/2349/environ
bash: /proc/2349/environ: No such file or directory
Run Code Online (Sandbox Code Playgroud)

信息随着这个过程消失了。

在运行进程之前要做什么才能在进程完成后列出变量?

process environment-variables proc

3
推荐指数
2
解决办法
3776
查看次数

VmPeak 和 VmHWM 是否有任何测量周期?

在阅读内核文档时,我遇到了 VmPeak 和 VmHWM,这对我来说有点不清楚。VmPeak in/proc/<pid>/status被描述为峰值虚拟内存大小。什么时期的高峰?

对于 VmHWM,也就是峰值驻留集大小(“高水位线”),这段时间是否相同?

rhel proc virtual-memory

3
推荐指数
1
解决办法
8739
查看次数

如何读取任何进程'/proc/pid/io

我正在尝试监视每个进程的磁盘活动。我发现如何执行此操作的一种方法是读取 /proc/pid/io 文件并将字段与先前读取的字段进行比较。除了我的监控过程似乎只能读取一些 io 文件(例如它没有读取 apache 的权限)之外,这很好用。怎么读别人的io?也许还有更好的方法来实现这个目标?

编辑显然我可以以 root 身份运行该进程,但我想避免这种情况

io proc disk

3
推荐指数
1
解决办法
2412
查看次数

SSH 访问会触发键盘中断吗?

所以,我一直在研究我的 LPIC-1 的基础知识,我有一个关于 /proc/interrupts

当控制台进入服务器时,我可以看到正在发生的按键记录(每次击键都会增加cat /proc/interrupts | grep i8042计数1:)。

但是,当我ssh进入盒子时,无论我echo荒谬的文字数量多少次,i8042计数都不会增加。

/proc/interrupts通过ssh?访问服务器时是否记录了击键记录?

linux ssh keyboard proc

3
推荐指数
1
解决办法
266
查看次数

有没有办法从 ps 命令结果中隐藏内核线程?

当我输入 时ps -ef,会显示许多特殊的内核线程进程。

我对内核线程不感兴趣;我只对用户进程/线程感兴趣。

有没有办法隐藏内核线程?

ps utilities proc linux-kernel

3
推荐指数
1
解决办法
4088
查看次数

什么命令总是通过 /proc/sys/kernel 生成相同的 UUID

运行以下命令会在每次执行时生成不同的随机输出(这是预期的,考虑到random它在路径中):

cat /proc/sys/kernel/random/uuid

有没有办法修改路径,以便在每次调用时产生静态(非随机)UUID(在每个请求/执行中返回相同的内容而不是随机)?

proc uuid

3
推荐指数
1
解决办法
3547
查看次数

/proc/devices 中的所有“sd”设备是什么

/proc/devices文件按主要修订号和名称列出设备。在我的系统上它显示(部分):

Block devices:
259 blkext
  7 loop
  8 sd
  9 md
 11 sr
 65 sd
 66 sd
 67 sd
 68 sd
 69 sd
 70 sd
 71 sd
128 sd
129 sd
130 sd
131 sd
132 sd
133 sd
134 sd
135 sd
253 device-mapper
254 mdp
Run Code Online (Sandbox Code Playgroud)

那些“sd”设备是什么?第一个(修订号 8)可能是,/dev/sda但其余的没有出现/dev- 没有带有这些主要修订号的设备。

确实看到了设备列表:

crw-rw---- 1 root tty       7, 128 Jul 29 14:15 vcsa
crw-rw---- 1 root tty       7, 129 Jul 29 14:15 vcsa1
crw-rw---- …
Run Code Online (Sandbox Code Playgroud)

linux devices proc

3
推荐指数
1
解决办法
1723
查看次数

Linux 如何读取“真实文件”和“虚拟文件”?

我发现在 Linux 中有“真实文件”和“虚拟文件”,真实文件是驻留在硬盘上的文件,而虚拟文件只是由内核表示为文件的数据。

例如,/proc目录中的文件是虚拟文件。

我想了解像这样的函数如何read()知道如何读取真实文件以及如何读取虚拟文件。我创建了下图来显示我对这个主题的理解,如果我的理解有误,请纠正我:

在此处输入图片说明

linux filesystems proc

3
推荐指数
1
解决办法
1013
查看次数

/proc/&lt;pid&gt;/cmdline 的意外非空编码

我正在解析/proc/pid/cmdline我的 Linux 系统 (Ubuntu 16.04) 上许多进程的值,并发现虽然大多数条目是空编码的,但正如预期的那样,至少有一个使用空格作为我发现意外的分隔符。

proc(5) 的文档中,我没有看到任何迹象表明这应该发生。有没有我应该期望空格作为分隔符而不是空值的情况?如果是这样,我在哪里可以找到描述该行为的文档?


行为

这是我尝试为铬浏览器进程之一捕获 cmdline 时看到的内容(请注意,空格字符用于分隔值):

user@host:~$ cat /proc/2721/cmdline
/usr/lib/chromium-browser/chromium-browser --type=gpu-process --field-trial-handle=2073283832741738928,4790986738309707242,131072 --gpu-preferences=GAAAAAAAAAAAAQAAAQAAAAAAAAAAAGAA --gpu-vendor-id=0x15ad --gpu-device-id=0x0405 --gpu-driver-vendor=Mesa --gpu-driver-version=17.2.8 --gpu-driver-date --service-request-channel-token=3778166CAD6E96F44A7268DF1AB1DD53
Run Code Online (Sandbox Code Playgroud)

我希望看到这样的事情(空值作为分隔符),这是我从系统上的其他进程看:

 ~$ cat /proc/354/cmdline
vmware-vmblock-fuse/run/vmblock-fuse-orw,subtype=vmware-vmblock,default_permissions,allow_other,dev,suid
Run Code Online (Sandbox Code Playgroud)

character-encoding proc

3
推荐指数
1
解决办法
995
查看次数