在OSx中更改Ruby Process Name

时间:2014-07-30 10:19:12

标签: ruby process naming

我试图给我的Ruby程序一个不同的名字。我在OSx上使用Ruby版本2.1.2-p95运行它。我正在查看活动监视器,我相信它使用顶级,但我不是百分百肯定。

我尝试了$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

1 个答案:

答案 0 :(得分:2)

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

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