[openrtm-users 01671] Re: ゾンビプロセスの消し方
栗原眞二
shinji.kurihara @ aist.go.jp
2011年 4月 22日 (金) 13:21:36 JST
静岡大学 清水先生
産総研 栗原です。
ご連絡いただき、有難うございます。
こちらで調査いたしましたところ、RTM側でpopen()に対するwait()もしくは、
waitpid()の処理が抜けていることが判明いたしました。
RTCでどのネットワークインターフェースを使用するかを判別するために、
”route”もしくは"ip"コマンドをpopen()を用いて実行してます。
OpenRTM-aist/src/lib/coil/posix/coil/Routing.cpp内のpclose(fp);
の後にwait(NULL);を入れる事で、こちらではゾンビプロセスは出なく
なりました。(暫定対応)
( #include <sys/wait.h> も必要です。)
次期リリース版にて修正させて頂きます。
以上、宜しくお願いいたします。
2011年4月21日18:12 Masayuki Shimizu <masayuki.shimizu @ aist.go.jp>:
> 皆様
>
> 静岡大学の清水です。
>
> LinuxでRTCを動かし、psコマンドでプロセスの状態を眺めてい
> て
> 気づいたのですが、コンソールからコンポーネントを起動する
> と、
> 以下のようにゾンビプロセスができます。
>
> USER PID %CPU %MEM VSZ RSS TTY STAT START
> TIME COMMAND
> shimizu 16971 0.2 0.3 42816 6148 pts/0 Sl+ 17:54
> 0:00 ./ConsoleOutComp
> shimizu 16976 0.0 0.0 0 0 pts/0 Z+ 17:54
> 0:00 [sh] <defunct>
>
> * ConsoleOutCompを実行したときのpsの表示結果。
> 16976がゾンビプロセスとして認識されている。
>
> * 環境:OpenRTM-aist-1.0.0(C++), Ubuntu10.04.
>
> コンポーネントを終了すればゾンビも一緒に消えますし、
> 動いている間もメモリやCPUを消費していないので、
> 特に実害はありません。
>
> ただ、プロセス上にゾンビがあるのは心地良くないので、
> ゾンビを消す、もしくはゾンビとして認識されないように
> したいのですが、良い方法をご存知の方は
> ご教示頂けると幸いです。
>
> よろしくお願いいたします。
>
> 清水
>
> --------------------
> Masayuki Shimizu
> Assistant Professor
> Dept. of Mechanical Engineering, Shizuoka Univ.
> 3-5-1, Johoku, Naka-ku, Hamamatsu 432-8561, JAPAN
> TEL/FAX: +81-53-478-1061
> Email: tmsimiz @ ipc.shizuoka.ac.jp
>
>
--
栗原 眞二 <shinji.kurihara @ aist.go.jp>
独立行政法人産業技術総合研究所
知能システム研究部門 統合知能研究グループ
〒305-8568
茨城県つくば市梅園1-1-1 中央第2
TEL: 029-861-5956
openrtm-users メーリングリストの案内