如何在 mac os 上通过知道进程名称来获取进程?

发布于 2024-08-28 00:17:21 字数 1459 浏览 7 评论 0原文

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

非要怀念 2024-09-04 00:17:21

刚刚重新格式化了海莉的答案:

// Return YES if given name process in process list . Otherwise return NO 
bool IsInBSDProcessList(char *name)    { 
  assert( name != NULL); 
  kinfo_proc *result; 
  size_t count = 0; 
  result = (kinfo_proc *)malloc(sizeof(kinfo_proc)); 
  if(GetBSDProcessList(&result,&count) == 0) { 
    for (int i = 0; i < count; i++) { 
      kinfo_proc *proc = NULL; 
      proc = &result[i]; 
      if (strcmp(name, proc->kp_proc.p_comm) == 0) { 
        free(result);
        return true;
      }
    }
  } 
  free(result);
  return false;
} 

Just reformatted Haley's answer:

// Return YES if given name process in process list . Otherwise return NO 
bool IsInBSDProcessList(char *name)    { 
  assert( name != NULL); 
  kinfo_proc *result; 
  size_t count = 0; 
  result = (kinfo_proc *)malloc(sizeof(kinfo_proc)); 
  if(GetBSDProcessList(&result,&count) == 0) { 
    for (int i = 0; i < count; i++) { 
      kinfo_proc *proc = NULL; 
      proc = &result[i]; 
      if (strcmp(name, proc->kp_proc.p_comm) == 0) { 
        free(result);
        return true;
      }
    }
  } 
  free(result);
  return false;
} 
温柔戏命师 2024-09-04 00:17:21

你的问题比较模糊。您能定义一下“获取流程”的含义吗?

一种方法(取决于您的定义):在“应用程序/实用程序”中启动“活动监视器”应用程序,然后在列表中查找进程名称。

Your question is rather vague. Can you define what you mean by "get a process"?

One method (depending on your definition): launch the Activity Monitor app in Applications/Utilities, and look up the process name in the list.

折戟 2024-09-04 00:17:21

也许

ps -eaf

来自控制台

Perhaps

ps -eaf

from a console

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文