ps_aix.c

来自「进程列表程序」· C语言 代码 · 共 53 行

C
53
字号
#include <stdio.h>#include <procinfo.h>int getprocs(struct procsinfo *, int, struct fdsinfo *,             int, pid_t *, int);pid_t getpidbyname(char *name, pid_t *nextPid){  struct procsinfo  pi;  pid_t             retval = (pid_t) -1;  pid_t             pid;  pid = *nextPid;  while(1)  {    if(getprocs(&pi, sizeof pi, 0, 0, &pid, 1) != 1)      break;        if(!strcmp(name, pi.pi_comm))    {      retval = pi.pi_pid;      *nextPid = pid;      break;    }  }    return retval;}int main(int argc, char *argv[]){  int   curArg;  pid_t pid;  pid_t nextPid;  if(argc == 1)  {    printf("syntax: %s <program> [program ...]\n",argv[0]);    exit(1);  }  for(curArg = 1; curArg < argc; curArg++)  {    printf("Process IDs for %s\n", argv[curArg]);    for(nextPid = 0, pid = 0; pid != -1; )      if((pid = getpidbyname(argv[curArg], &nextPid)) != -1)        printf("\t%d\n", pid);  }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?