4月 28, 2009

UNIXのプロセス名が…

本日、気がついたことに、Linuxでps -e とps -efにて全く異なるプロセス名が表示されるものがある
監視ソフトがps -eで表示されるプロセス名を使うが、そちらは別のプロセスと同じ名前でプロセスの判別がつかない。いつもはps -efで表示されるプロセス名を見ていたから、まったく気がつかなかった。
ところで、どうやったらこんなことが出来るのかと悩み、サンプルプログラムを作ってみた。
#include
int main( int argc , char* argv[] )
{
char* argument[3];
argument[0] = “sample”;
argument[1] = “100”;
argument[2] = NULL;
execv( “/bin/sleep”, argument );
}
これだけで実際にプロセス名を変えることができるとは知らなかったなぁ。
ちなみにMacではこんな感じでした。
$ ps -e -o command,uname
sample 100 sleep