【问题标题】:How do I rename a process on Linux?如何在 Linux 上重命名进程?
【发布时间】:2011-02-23 20:55:14
【问题描述】:

我正在使用 Python,但它会接受任何适用语言的答案。

我试过写信给/proc/$pid/cmdline,但那是一个只读文件。

我尝试为sys.argv[0] 分配一个新字符串,但这没有明显的影响。

还有其他可能吗?我的程序正在通过os.system(相当于system(3))执行进程,因此使用额外生成进程的通用、基于*NIX 的解决方案就可以了。

【问题讨论】:

  • 只是好奇,你为什么想要? :)
  • 对贾斯汀的回应:在 apache 和 postgres 等 unix 服务器中,通常会重写一个通用进程名称,并简要说明进程正在做什么。这有助于系统管理员(和桌面用户)在查看系统进程列表时了解正在发生的事情。

标签: python linux shell process


【解决方案1】:

如果您使用 subprocess.Popen 而不是 os.system 您可以使用executable 参数来指定要执行的实际文件的路径,并将您想要显示的名称作为列表中的第一项传递参数args

【讨论】:

    【解决方案2】:

    写信给*argv 会改变它,但你需要从C 或类似的地方来做;我认为 Python 不会轻易让您直接访问该内存。

    我也建议不要管它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-02-20
      • 2018-10-26
      • 1970-01-01
      • 2013-12-06
      • 2018-01-10
      • 2010-10-21
      • 2013-04-12
      • 2020-09-28
      相关资源
      最近更新 更多