永发信息网

Linux下怎样检测进程是否异常

答案:1  悬赏:40  手机版
解决时间 2021-04-01 00:37
  • 提问者网友:浩歌待明月
  • 2021-03-31 00:02
Linux下怎样检测进程是否异常
最佳答案
  • 五星知识达人网友:时间的尘埃
  • 2021-03-31 01:25
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
void CheckPid(void)
{
pid_t termpid;
int flags;
termpid = waitpid(-1,&flags,WNOHANG);
if (termpid>0)
{
msglog.code = LOG_MSG_OTHER;
if(WIFEXITED(&flags))
{
printf("pid=%d的子进程正常结束,返回信息=%d,结束状态=%d\n",termpid,flags,WEXITSTATUS(&flags));
}
else if(WIFSIGNALED(&flags))
{
printf("pid=%d的子进程异常终止,返回信息=%d,终止进程的信号的编号=%d\n",termpid,flags,WTERMSIG(&flags));
}
else if(WIFSTOPPED(&flags))
{
printf("pid=%d的子进程暂停,返回信息=%d,暂停进程的信号的编号=%d\n",termpid,flags,WSTOPSIG(&flags));
}
else
{
printf_d(cur_dep,SYS_PID_DSC_OUTTYPE,"pid=%d的子进程退出",termpid);
}
}
}

其中“返回信息”flags的返回值有几种情况,如段错误、正常终止、 被信号终断等
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯