ps -aT |grep queueTask |awk '{ print $2}'
#include<stdio.h>
#include<stdlib.h>
int main()
{
char *str_log = "ps -aT |grep queueTask |awk '{print $2}'";
FILE *fp = NULL;
if(NULL == (fp = popen(str_log, "r")))
{
printf("McpTaskHandOP popen failed!\n");
return -1;
}
int result = 0;
char buf[100] = {0};
while(fgets(buf, sizeof(buf), fp))
{
result = atoi(buf); //将获取的线程PID转换成数字
printf("McpTaskHandOP:%s\n",buf);
}
printf("McpTaskHandOP int: %d\n",result);
printf(str_log, "pstack %d >> /home/MntErr.log", result );//获取堆栈信息
if(-1 == (pclose(fp)))
{
printf("McpTaskHandOP pclose failed!\n");
}
return 0;
}