Project

General

Profile

バグ #2065

コンポーネント実行時のゾンビプロセスについて

Added by kurihara over 11 years ago. Updated over 11 years ago.

Status:
終了
Priority:
通常
Assignee:
Target version:
-
Start date:
04/22/2011
Due date:
% Done:

100%

Estimated time:

Description

静岡大 清水様からの報告

LinuxでRTCを動かし、psコマンドでプロセスの状態を眺めてい
て
気づいたのですが、コンソールからコンポーネントを起動する
と、
以下のようにゾンビプロセスができます。

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START
 TIME COMMAND
***  16971  0.2  0.3  42816  6148 pts/0    Sl+  17:54
 0:00 ./ConsoleOutComp
***  16976  0.0  0.0      0     0 pts/0    Z+   17:54
 0:00 [sh] <defunct>

History

#1 Updated by kurihara over 11 years ago

  • Status changed from 新規 to 担当
  • Assignee set to kurihara
  • % Done changed from 0 to 80
こちらで調査いたしましたところ、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> も必要です。)

wait()もしくは、waitpid()の処理を追加する必要があり。
どちらにするかは、要検討。

#2 Updated by kurihara over 11 years ago

  • Status changed from 担当 to 解決
  • % Done changed from 80 to 100

r2071 にて修正。

#3 Updated by n-ando over 11 years ago

  • Status changed from 解決 to 終了

確認しました。

Also available in: Atom PDF