相关疑难解决方法(0)

Linux下如何从/proc/$pid/mem读取?

Linux的proc(5)手册页告诉我,/proc/$pid/mem“可用于访问进程的内存的页面”。但是直接尝试使用它只会给我

$ cat /proc/$$/mem /proc/self/mem
cat: /proc/3065/mem: No such process
cat: /proc/self/mem: Input/output error
Run Code Online (Sandbox Code Playgroud)

为什么不能cat打印自己的内存(/proc/self/mem)?当我尝试打印 shell 的内存时,这个奇怪的“没有这样的进程”错误是什么(/proc/$$/mem显然进程存在)?那我怎么读/proc/$pid/mem呢?

linux process kernel memory proc

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

如何将 Wing IDE 的进程名称从 python 更改为更具描述性的名称

在我的 Ubuntu(使用top/ System Monitor)下的进程列表中,最大的内存猪(200+Mb)之一是python. 我搜索了一些我的程序,直到我意识到这是我的 Python IDE ( Wing ),它本身是用 Python 编写的。

我以为我可以通过从setproctitle包中插入 setproctitle 来更改程序的名称,但是 Wing 使用的 python 版本与我自己的不同。setproctitle需要编译,并且 wing 使用的 python 不是完整安装(我询问了 Wing 支持,但他们不太可能更改/合并 setproctitle)。

setproctitle 只能更改正在运行的进程的名称,因此我也无法制作启动 Wing 然后更改进程名称的脚本。

之后,我尝试写入 /proc/PIDNUM/comm,但尽管该“文件”是“rw”,但我不允许在那里写入。

我终于为这个特殊情况找到了一个不太便携的解决方案。但是我想知道是否有一种标准方法可以使用 Linux 系统调用更改另一个(可能是子)进程的进程名称。

process system-calls python

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

标签 统计

process ×2

kernel ×1

linux ×1

memory ×1

proc ×1

python ×1

system-calls ×1