バグ #2065
コンポーネント実行時のゾンビプロセスについて
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 almost 12 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 almost 12 years ago
- Status changed from 担当 to 解決
- % Done changed from 80 to 100
r2071 にて修正。