else
  printf('Родитель, мой id = %i,'
   'порожденный процесс имеет id = %i
', procid, childid);
 if ((rcvid = MsgReceive(PChanid, RecBuffer, 100, NULL)) == -1)
  printf('Родитель: от дитятки не удалось'
   ' получить сообщение
');
 else {
  printf('Родитель: от дитятки получено'
   ' сообщение:'%s'
', RecBuffer);
  CChanid = atoi(RecBuffer);
  strcpy(RecBuffer, 'спасибо, сынок');
  if (MsgReply(rcvid, EOK, RecBuffer, 100) == -1)
   printf('Родитель: почему-то не удалось '
    'ответить сыночку: Ау, где ты?
');
 }
 if ((coid =
  ConnectAttach(nid, childid, CChanid, _NTO_SIDE_CHANNEL, 0)) == -1) {
  printf('Родитель: странно, но не смог установить'
   ' канал связи с ребенком:'
   'nid = %i childid = %i CChanid = %i
', nid, childid, CChanid);
  return(-1);
 }
 printf('Родитель: установил связь coid = %i с'
  ' ребенком
', coid);
 errno = 0;
 if (MsgSend(coid, SendBuf, 100, SendBuf, 100) == -1)
  printf('Родитель: на MsgSend получил errno = %i
', errno);
 else
  printf('Родитель, получен отклик на MsgSend()'
   ', '%s'
', SendBuf);
 printf('Родитель: позвольте откланяться
');
 ChannelDestroy(Pchanid);
 ConnectDetach(CChanid);
 return(0);
}
Пример кода порожденного процесса
#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
#include <string.h>
#include <process.h>
#include <sys/netmgr.h>
#include <sys/neutrino.h>
#include <errno.h>
#include <locale.h>
int main(int argc, char **argv) {
 int nid;      // Дескриптор текущего узла
 int CChanid;  // Идентификатор созданного канала
 int coid;     // Идентификатор связи с родителем
               // по созданному им каналу
 pid_t Parpid; // Идентификатор родительского процесса
 int rcvid;    // Идентификатор отправителя
               // полученного сообщения
 char BufName[100];
 char SendBuf[100], RecBuf[100];
 setlocale(LC_CTYPE, 'C-TRADITIONAL');
 if ((CChanid = ChannelCreate(0)) == -1)
  printf('Ребенок: странно, но не удалось создать'
   ' канал
');
 else
  printf('Ребенок: канал CChanid = %i создан
', CChanid);
 Parpid = atoi(argv[1]);
 printf('Ребенок сообщает: он жив благодаря папане'
  ' Parpid = %i
', Parpid);
 strcpy(BufName, '904-3');
 if ((nid = netmgr_strtond(BufName, NULL)) == -1)
  printf('Ребенок: узел '%s' не найден!
', BufName);
 else
  printf('Ребенок: узел '%s' найден, его nid = %i
', BufName, nid);
 if ((coid =
  ConnectAttach(nid, Parpid, atoi(argv[2]), _NTO_SIDE_CHANNEL, 0)) == -1) {
  printf('Ребенок: странно, но дитя не смогло'
   ' установить канал связи с папаней
');
  return(-1);
 }
 printf('Ребенок: установил связь coid = %i с процессом'
  ' Parpid = %i на узле %i
', coid, Parpid, nid);
 // Вот здесь хорошее место, чтобы выполнить все действия,
 // необходимые для развертывания данного процесса
 itoa(CChanid, SendBuf, 10);
 errno = 0;
 if (MsgSend(coid, SendBuf, 100, SendBuf, 100) == -1)
  printf('Ребенок: на MsgSend() к отцу получил'
   ' errno = %i
', errno);
 else
  printf('Ребенок: на MsgSend() получен отклик'
   ' от родителя.'%s'
', SendBuf);
 rcvid = MsgReceive(CChanid, RecBuf, 100, NULL);
 printf('Ребенок: от папани получено сообщение:'
  ' '%s'
', RecBuf);
 strcpy(RecBuf, 'я здесь, папаня!');
 if (MsgReply(rcvid, EOK, RecBuf, 100) == -1)
  printf('Ребенок: почему-то не удалось ответить'
   ' папаше. Ау, где ты?
');

 
                