【问题标题】:Change Ruby Process Name in OSx在 OSx 中更改 Ruby 进程名称
【发布时间】:2014-07-30 10:19:11
【问题描述】:

我正在尝试给我的 Ruby 程序起一个不同的名称。我在 OSx 上使用 Ruby 版本 2.1.2-p95 运行它。我正在查看我认为使用 top 的 Activity Monitor,但我不是 100% 确定。

我试过$0 = "My process name"$0 = "My process name\0"$PROGRAM_NAME = "My process name"$0 = "my_process_name"。似乎这些都不起作用。

我也试过了:

require "fiddle"
def set_process_name(name)
    Fiddle::Function.new(
        DL::Handle["prctl"], [
            Fiddle::TYPE_INT, Fiddle::TYPE_VOIDP,
            Fiddle::TYPE_LONG, Fiddle::TYPE_LONG,
            Fiddle::TYPE_LONG
        ], Fiddle::TYPE_INT
    ).call(15, name, 0, 0, 0)
end
set_process_name("My process name")

我很想有一个跨平台的方式来做到这一点,但我现在主要是在使用 OSx 方式。


没有满意答案的类似问题: Change the ruby process name in top

【问题讨论】:

  • 您要更改的具体是顶级/活动监视器输出还是 ps 的输出?
  • 我希望它在活动监视器中进行更改,因为这是大多数 Mac 用户会查看的地方。
  • 太糟糕了,Process.setproctitle 似乎只做ps
  • 是的,我自己发现了。不幸的是,我一直在为此苦苦挣扎。
  • 您找到解决方案了吗?我在 Thoughtbot 的 gitshRuby issue tracker 上发现了一些可能相关的问题

标签: ruby process naming


【解决方案1】:

我还没有找到跨平台的方法。最接近的是使用Process.setproctitle,但在 OSX 上它只能在命令行上运行,而不是在 Activity Monitor 应用程序中。

对于 OSX,您需要将脚本捆绑在应用程序和 set the process name on the Info.plist 文件中

【讨论】:

    猜你喜欢
    • 2010-10-01
    • 2011-08-30
    • 1970-01-01
    • 2023-02-06
    • 2014-07-09
    • 1970-01-01
    • 1970-01-01
    • 2014-07-21
    • 1970-01-01
    相关资源
    最近更新 更多