Ant*_*hon 5 process system-calls 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 系统调用更改另一个(可能是子)进程的进程名称。
进程只能写入自己的/proc/pid/comm
. 因此,既然听起来您可以修改 IDE 的代码,您只需将其写入/proc/self/comm
.
另一种选择是更改其 Python 可执行文件的名称,然后更改所有行#!
,但这可能是 PITA。
其他\xe2\x80\x94更痛苦的\xe2\x80\x94选项是编写一些C代码并使用LD_PRELOAD
or ptrace
。