ÐÐ, exec-Ð ÐÑÐÐÐÐÐÐ ÐÑÐÑÑÐÑÐÑÑÐ. ÐÐÐÑÑÐ exec 
ÑÐÐÐÐÑ system(). ÐÑÑ system() ÐÐÐ 
ÐÑÑÐÐ ÐÐ-ÐÐÐÑÐ, ÐÐÐÐÑÐ ÐÐ ÐÐ ÑÐ ÑÐÑÑÐÑÑÐÑÐÐ 
PC-ÑÐ (ÐÐÑÐ ÑÐ ÐÐÐ ÐÐ ÐÑÐÐÐÐÐ, ÑÐ 
ÐÑÐÐ ÐÐÐÐÐÐÐ limits). ÐÐÑÐÑ ÑÐ, ÑÐ Ð ÐÐ-ÐÐÐÑÐ ÐÐ 
ÑÐ ÐÐÐÑÑ ÑÐÐÐÐÐÐÑÐ SIGKILL, 
SIGSTOP (ÐÐ ÐÐ ÐÐÐÐ ÐÐ ÑÐ ÑÐÑÐ ÐÐÐÑÐÐÐÐÐÐÑÐ, 
ÑÑÐÐ kill), ÐÐ ÑÑÐÐ ÑÐÑÑÐÐÐÐÑÐ 
ÐÐÐÐÐÐÐÐÐ signal(), ÐÐ ÑÑÐÐÐ. Ð ÐÐÐ page ÐÐ signal() 
ÐÐÑÐ, ÑÐ ÐÐÐÐ ÐÐ 
ÐÐÐÐÑÐÑÐÑ ÐÐÐ ÐÐ ÑÐÐÐÐÑ ÐÑÐÑÐÐ ÑÐÐÐÐÐ 
ÐÐÐÐÑÑÐÐÐÐ ÐÐ SIGKILL Ð SIGSTOP, ÐÐÑÐ 
ÑÑÑÐÑÐ ÑÐ ÐÑÐÐÑÑ Ð ÐÐ sigaction (ÐÐÐÐÐ ÐÐ Linux :) ). 

ÐÐ ÐÐÑÐÑ, ÑÐ ÑÑÑÐÐÐ ÐÐÑÐ ÐÐ ÐÐÑÐÑ Ð buffer-a ÐÐ 
ÐÐ ÐÐeÐÐ ÐÐÐÐÑ. ÐÐ ÑÑÑÐÐÐÐÐ 
malloc() ÐÐ ÐÐÐÐÐÑ ÐÐÐÐÑ Ð ÑÑ ÑÐ ÐÑÑÐÐÐ 
ÐÐÐÐÐÐÐÐ, ÐÐÐ ÐÐÐÑÐÐÐÐ ÐÐÐÐ ÑÐ 
ÐÐÐÐÑÐÐ ÐÐÑÐ Ð ÐÐÑ ÐÐÐ ÐÐ :). ÐÐÐÑÐ Ð, ÑÐ ÐÐ ÑÐ 
ÐÑÐÐÐÐÐÐÐÐÐ :).

ÐÐÐ ÐÑÐÐÐ ÐÑÐÐÐÐ ÑÐÐÐ ÐÑÐÐÐÐÐ, ÐÐÐÐ ÐÐ 
ÑÐÐÐÐÐÐ ÑÐÐÑÐÑÐÑÐ, ÐÐÑÐÑÐ ÐÐ Ð 
ÐÐÑÐÑÐÑÐÐ. 

 #include <unistd.h>
 #include <string.h>
 #include <sys/types.h>
 #include <stdio.h>

 void duplicate(char *prog)
 {
     pid_t p;
     char *cmd;
     char *buffer;     
 p = fork();
     cmd = (char *) malloc(strlen(prog) + 3); // ÑÐÐÐ ÐÐ ÑÐ 
ÐÑÐÐÐÐÐÐÐÐÐ
     strcpy(cmd, prog); strcat(cmd, " &");

     // ÐÐÐÐ ÑÐ ÐÑÐÐÐ ÐÐÐÐÑÐ.
    //  buffer = (char *) malloc(1024);    

 
     if (0 == p)
     {
   //execl(cmd, NULL);
 system(cmd);
     }
     else
     {
  duplicate(prog);
     }
 }

 int main(int argc, char *argv[])
 {
     duplicate(argv[0]);
     return 0;
 }

============================================================================
A mail-list of Linux Users Group - Bulgaria (bulgarian linuxers).
http://www.linux-bulgaria.org - Hosted by Internet Group Ltd. - Stara Zagora
To unsubscribe: http://www.linux-bulgaria.org/public/mail_list.html
============================================================================

Reply via email to