mue*_*san 22 ruby unix linux top-command
我想更改linux/unix top命令中显示的ruby进程的名称.我试过了
$0='miname'
方法,但它只适用于ps命令,并在顶部,该过程不断显示为"红宝石"
Gor*_*son 17
Dave Thomas 在rails中做了一篇有趣的帖子.关于实际进程名称更改代码没有特定的rails.他使用这种$0='name'方法.当我跟着他的脚步名称改为中ps和top.  
在帖子中,c如果您的top版本默认情况下没有显示该命令的短版本,他建议使用键盘命令.
dub*_*bek 10
Ruby 2.1 为此目的引入了一种Process.setproctitle方法:
Process.setproctitle("My new title")
我认为Ruby没有内置设施(setproctitle(3)).您可能应该尝试查看ruby-ffi并创建接口setproctitle(3).
编辑:我知道你有答案,但我想向你展示一些使用ffi的代码:
require "ffi"
#
module LibC
  extend FFI::Library
  attach_function :setproctitle, [:string, :varargs], :void
end
LibC.setproctitle("Ruby: executing %s", :string, $0)
因为setproctitle(3)不存在而无法在OS X上运行,适用于FreeBSD.