linux下使用

采用sh的模式,会导致开机alt+f2无法正常使用。故替换之#include <stdio.h>

#include <unistd.h>
#include 
<errno.h>
#include 
<string.h>
#include 
<sys/types.h>
#include 
<sys/wait.h>
#include 
<stdlib.h>

int main(int argc,char **argv)
{
  
int ret, i, status;
  
char *child_argv[200= {"/usr/share/TSMIS/bin/TSMIS_JK"};
  pid_t pid;
  
while(1)
  {
    pid 
= fork();
    
if (pid == -1)
    {
       fprintf(stderr, 
"fork() error.errno:%d error:%s\n", errno, strerror(errno));
       
break;
    }

    
if (pid == 0)
    {
      ret 
= execlp(child_argv[0],child_argv[0],(char*)0);
      
if (ret < 0)
      {
         fprintf(stderr, 
"execv ret:%d errno:%d error:%s\n", ret, errno, strerror(errno));
         
continue;
      }
      exit(
0);
    }
   
if (pid > 0)
   {
      
//pid = wait(&status);
      
//
      waitpid(pid,&status,0);
      fprintf(stdout, 
"wait return");
      sleep(
5);
   }
 }
 
return 0;

} 

posted on 2011-06-14 00:20  蚂蚁跳楼  阅读(166)  评论(0编辑  收藏  举报