当我在一个守护进程中转换我的c程序时,在ubuntu系统管理器中被阻止

时间:2015-08-20 09:53:31

标签: c unix ubuntu daemon rsh

我有一个由系统调用rsh以这种方式启动的c程序

      pid_t process_id = 0;
   pid_t sid = 0;

   //Crea processo figlio
   process_id = fork();


   // Indica il fallimento della fork()
   if (process_id < 0)
   {
        printf("fork failed!\n");

        // ritorna fallimento nello stato di uscita
        exit(1);
   }


   // PROCESSO PADRE. Occore ucciderlo.
   if (process_id > 0)
   {
       printf("process_id of child process %d \n", process_id);

       // ritorna successo nello stato di uscita
        exit(0);
   }

   //unmask the file mode
   umask(0);

   //setta nuova sessione
   sid = setsid();

   if(sid < 0)
   {
       // Return failure
       exit(1);
   }




   // Chiude gli sdandard INPUT,OUTPUT e di ERRORE stdin. stdout and stderr
   close(STDIN_FILENO);
   close(STDOUT_FILENO);
   close(STDERR_FILENO);

$ DTT和$ CTT是环境变量,我在其中加载用户名和主机名

当c程序正常时,rsh工作正常,但是当我在一个守护进程中转换c程序然后我执行它时,进程rsh保持锁定在ubuntu系统管理器中并浪费了大量的CPU资源,rsh工作在一半,它执行操作但它保持阻止。

使用rsh转换我的c程序的代码如下所示。

$( "<p><strong>I AM NEW TEXT</strong></p>" ).insertAfter( ".content > p:nth-child(2)" );

问题解决了!我将标准输出重定向到文件中,rsh不会给我任何问题!

0 个答案:

没有答案