it's a little bit complicated,
1. i have a script starts 20 xterms like this,
   xterm -e "uml ..."
   so basically i run 20 umls in my pc, each in a xterm so i can check 
the progress.

2. each of uml will automatically start my application,
   which is multithreaded, has pipes, sockets etc.

when i do this, every once a while some xterms disappear.

if the UMLs don't run my app, i know it's fine.
but if my app has bug, how can it kills the xterm ?

During this procedure, i keep on checking pc memory by "free -m",
and seems it has plenty of free memory.
Total is ~3GB, but i never see the used memory exceed 2GB.

Shared memory usage is only ~20%.

thanks !