程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> exit的狀態

exit的狀態

編輯:C++入門知識

下面是一個實例,來演示不通的exit值


[cpp] 
#include <stdio.h>  
#include <stdlib.h>  
#include <sys/wait.h>  
 
void pt_exit(int status) 

    if(WIFEXITED(status)) 
        printf("nomal termination, exit status = %d\n", 
                WEXITSTATUS(status)); 
    else if(WIFSIGNALED(status)) 
        printf("abnomal termination, signal number = %d%s\n", 
                WTERMSIG(status), ""); 
    else if(WIFSTOPPED(status)) 
        printf("child stopped, signal number = %d\n", 
                WSTOPSIG(status)); 

 
int main(void) 

    pid_t pid; 
    int status; 
     
    if((pid = fork()) < 0) 
        printf("error: fork error.\n"); 
    else if(pid == 0) 
        exit(7); 
 
    if(wait(&status) != pid) 
        printf("error: wait error.\n"); 
    pt_exit(status); 
 
    if((pid = fork()) < 0) 
        printf("error: fork error.\n"); 
    else if(pid == 0) 
        abort(); 
 
    if(wait(&status) != pid) 
        printf("error: wait error.\n"); 
    pt_exit(status); 
 
    if((pid = fork()) < 0) 
        printf("error: fork error.\n"); 
    else if(pid == 0) 
        status /= 0; 
 
    if(wait(&status) != pid) 
        printf("error: wait error.\n"); 
    pt_exit(status); 
     
    exit(0); 

#include <stdio.h>
#include <stdlib.h>
#include <sys/wait.h>

void pt_exit(int status)
{
 if(WIFEXITED(status))
  printf("nomal termination, exit status = %d\n",
    WEXITSTATUS(status));
 else if(WIFSIGNALED(status))
  printf("abnomal termination, signal number = %d%s\n",
    WTERMSIG(status), "");
 else if(WIFSTOPPED(status))
  printf("child stopped, signal number = %d\n",
    WSTOPSIG(status));
}

int main(void)
{
 pid_t pid;
 int status;
 
 if((pid = fork()) < 0)
  printf("error: fork error.\n");
 else if(pid == 0)
  exit(7);

 if(wait(&status) != pid)
  printf("error: wait error.\n");
 pt_exit(status);

 if((pid = fork()) < 0)
  printf("error: fork error.\n");
 else if(pid == 0)
  abort();

 if(wait(&status) != pid)
  printf("error: wait error.\n");
 pt_exit(status);

 if((pid = fork()) < 0)
  printf("error: fork error.\n");
 else if(pid == 0)
  status /= 0;www.2cto.com

 if(wait(&status) != pid)
  printf("error: wait error.\n");
 pt_exit(status);
 
 exit(0);
}

 


作者:zhangjie201412

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved