Hi Edward,

every subprocess that is started must be "waited on" for proper
completion, or else it never terminates and becomes a zombie.

In backend.pas, in function run_backend(), either use the option
poWaitOnExit when creating AProcess or use the method
WaitOnExit() after the output has been read from the backend.

Kind regards,
T.


On 08/29/2015 10:41 PM, Edward Bartolo wrote:
Running "ps -e" while netman runs for a some time results in zombies as follows:

edbarx@edbarx-pc:~$ ps -e
   PID TTY          TIME CMD
     1 ?        00:00:00 init
     2 ?        00:00:00 kthreadd
     3 ?        00:00:05 ksoftirqd/0
     5 ?        00:00:00 kworker/0:0H
     7 ?        00:00:12 rcu_sched
     8 ?        00:00:00 rcu_bh
     9 ?        00:00:00 migration/0
    10 ?        00:00:00 watchdog/0
    11 ?        00:00:00 watchdog/1
    12 ?        00:00:00 migration/1
    13 ?        00:00:06 ksoftirqd/1
    15 ?        00:00:00 kworker/1:0H
    16 ?        00:00:00 khelper
    17 ?        00:00:00 kdevtmpfs
    18 ?        00:00:00 netns
    19 ?        00:00:00 khungtaskd
    20 ?        00:00:00 writeback
    21 ?        00:00:00 ksmd
    22 ?        00:00:00 khugepaged
    23 ?        00:00:00 crypto
    24 ?        00:00:00 kintegrityd
    25 ?        00:00:00 bioset
    26 ?        00:00:00 kblockd
    29 ?        00:00:00 kswapd0
    30 ?        00:00:00 fsnotify_mark
    36 ?        00:00:00 kthrotld
    37 ?        00:00:00 ipv6_addrconf
    39 ?        00:00:00 deferwq
    75 ?        00:00:00 khubd
    76 ?        00:00:00 acpi_thermal_pm
    77 ?        00:00:00 ata_sff
    78 ?        00:00:00 scsi_eh_0
    79 ?        00:00:00 scsi_tmf_0
    80 ?        00:00:00 scsi_eh_1
    81 ?        00:00:00 scsi_tmf_1
    85 ?        00:00:00 scsi_eh_2
    86 ?        00:00:00 scsi_tmf_2
    87 ?        00:00:00 scsi_eh_3
    88 ?        00:00:00 scsi_tmf_3
    95 ?        00:00:00 kworker/1:1H
    96 ?        00:00:00 kworker/0:1H
   118 ?        00:00:00 jbd2/sda9-8
   119 ?        00:00:00 ext4-rsv-conver
   309 ?        00:00:00 udevd
   359 ?        00:00:00 hd-audio0
   368 ?        00:00:00 kpsmoused
   389 ?        00:00:00 cfg80211
  1277 ?        00:00:00 rpcbind
  1305 ?        00:00:00 rpc.statd
  1310 ?        00:00:00 rpciod
  1312 ?        00:00:00 nfsiod
  1319 ?        00:00:00 rpc.idmapd
  1555 ?        00:00:00 rsyslogd
  1597 ?        00:00:00 atd
  1643 ?        00:00:00 acpid
  1665 ?        00:00:00 cron
  1726 ?        00:00:00 dbus-daemon
  1919 ?        00:00:05 xchat
  1965 ?        00:00:00 exim4
  1985 ?        00:00:00 slim
  2011 tty7     00:09:19 Xorg
  2012 tty1     00:00:00 getty
  2013 tty2     00:00:00 getty
  2014 tty3     00:00:00 getty
  2015 tty4     00:00:00 getty
  2016 tty5     00:00:00 getty
  2017 tty6     00:00:00 getty
  2030 ?        00:00:00 kauditd
  2032 ?        00:00:00 console-kit-dae
  2099 ?        00:00:00 polkitd
  2110 ?        00:00:00 sh
  2162 ?        00:00:00 ssh-agent
  2165 ?        00:00:00 dbus-launch
  2166 ?        00:00:00 dbus-daemon
  2176 ?        00:00:00 xfce4-session
  2178 ?        00:00:00 xfconfd
  2182 ?        00:00:00 gpg-agent
  2183 ?        00:00:02 xfwm4
  2185 ?        00:00:03 xfce4-panel
  2187 ?        00:00:00 xfsettingsd
  2189 ?        00:00:00 syndaemon
  2191 ?        00:00:00 xfdesktop
  2195 ?        00:00:00 xfce4-power-man
  2199 ?        00:00:01 xscreensaver
  2202 ?        00:00:00 xfce4-power-man
  2203 ?        00:00:00 xfce4-volumed
  2208 ?        00:00:00 upowerd
  2210 ?        00:00:00 panel-6-systray
  2213 ?        00:00:00 panel-2-actions
  2264 ?        00:00:45 netman
  2271 ?        00:00:00 backend <defunct>
  2272 ?        00:00:00 cat <defunct>
  2280 ?        00:00:00 ifup <defunct>
  2416 ?        00:00:00 at-spi-bus-laun
  2743 ?        00:00:00 kworker/1:1
  3809 ?        00:00:00 kworker/0:1
  4106 ?        00:00:00 kworker/u8:0
  4595 ?        00:00:00 kworker/1:0
  4834 ?        00:00:00 kworker/u8:2
  5130 ?        00:00:00 kworker/0:2
  5207 ?        00:00:00 kworker/1:2
  5732 ?        00:00:00 xfce4-terminal
  5736 ?        00:00:00 gnome-pty-helpe
  5737 pts/0    00:00:00 bash
  5755 ?        00:00:00 ps <defunct>
  5756 pts/0    00:00:00 ps
  7389 ?        00:00:00 ifdown <defunct>
16124 ?        00:00:00 ifup <defunct>
16135 ?        00:00:00 wpa_supplicant
16189 ?        00:00:00 dhclient
18393 ?        00:00:28 medit
26622 ?        00:00:00 backend <defunct>
26853 ?        00:00:00 backend <defunct>
26886 ?        00:00:00 backend <defunct>
26908 ?        00:00:00 backend <defunct>
31536 ?        00:08:11 iceweasel


I found this suggestion to get rid of zombies. The link is this:
https://www.daniweb.com/software-development/cpp/threads/364407/handling-sigchld-to-prevent-zombie-processes

What do you suggest?


Edward.
_______________________________________________
Dng mailing list
Dng@lists.dyne.org
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng


_______________________________________________
Dng mailing list
Dng@lists.dyne.org
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng

Reply via email to