否则ruby写的脚本一堆ruby在进程表里面,python写的脚本一堆python在进程表里面,会把人搞晕。
这需要调用libc中的prctl函数,于是就涉及到如何调用C 库了。
python版本已经有很多了。这里给出两个ruby的版本。
用dl的:
- require 'dl/import'
- module JxLib
- extend DL::Importer
- dlload '/lib/libc.so.6'
- extern "int prctl(int,char *,unsigned long,unsigned long,unsigned long)"
- end
- PR_SET_NAME = 15
- JxLib.prctl(PR_SET_NAME,"new process name ",0,0,0)
- puts "run prctl"
sleep 10000
- require 'ffi'
- module MyLib
- extend FFI::Library
- ffi_lib 'c'
- attach_function :prctl, [ :int,:string,:ulong,:ulong,:ulong ], :int
- end
- MyLib.prctl(15,"new process name",0,0,0)
- puts "run prctl"
- sleep 10000