<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Dec 4, 2013 at 4:13 PM, Mandeep Sandhu <span dir="ltr"><<a href="mailto:mandeepsandhu.chd@gmail.com" target="_blank">mandeepsandhu.chd@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">> assuming one mother process is monitoring 10 child process, so inside each<br>
> child process, simply just setup a PERIODIC (eg, per 5 sec) mechanism to<br>
> toggle a binary variables through IPC means. It will be reset when the<br>
> mother process go around checking all the variable status and, if not reset<br>
> it therefore implies that the particular process might be hung. it can<br>
> wait further, or continue checking other process. at the end of checking<br>
> ALL the process, if everything is OK, it should feed the kernel watchdog<br>
> timer. if the kernel watchdog timer is not reset, the kernel module will<br>
> then reboot the system. (ie, reboot is from kernel module).<br>
<br>
</div>Hold on! Why should we reboot the whole system if only some of these<br>
processes are misbehaving?!?! Why should other processes suffer due<br>
this? Wouldn't it be better to just kill the erroneous process (like<br>
how most OS's anyway do, eg: "Force Quit" in Ubuntu, or chrome tabs).<br>
<br></blockquote><div><br></div><div style>In many COTS software, the behavior of every process is highly dependent on one-another, especially some of these will talk to hardware, and other are just processing the intermediate data. When something goes wrong, it is difficult to diagnose the faults (which is why faults logging is important, and always done on flash or harddisk, but not temporary filesystem) in realtime (ie, self-diagnosis mechanism), so it is better to reboot. yes, not all process need to trigger reboot, so design it with care. eg, Apache server can always afford to be kill and restart a new one. </div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Or are these processes the only ones running on the system?<br>
<span class="HOEnZb"><font color="#888888"><br>
-mandeep<br>
</font></span></blockquote></div><br><br clear="all"><div><br></div>-- <br>Regards,<br>Peter Teoh
</div></div>