惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

小众软件
小众软件
博客园 - Franky
罗磊的独立博客
G
Google Developers Blog
The GitHub Blog
The GitHub Blog
P
Proofpoint News Feed
Recent Announcements
Recent Announcements
V
V2EX
F
Fortinet All Blogs
阮一峰的网络日志
阮一峰的网络日志
Blog — PlanetScale
Blog — PlanetScale
月光博客
月光博客
U
Unit 42
GbyAI
GbyAI
A
About on SuperTechFans
WordPress大学
WordPress大学
Engineering at Meta
Engineering at Meta
雷峰网
雷峰网
Microsoft Azure Blog
Microsoft Azure Blog
Martin Fowler
Martin Fowler
D
DataBreaches.Net
The Cloudflare Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
MongoDB | Blog
MongoDB | Blog

博客园 - Eric Lee

20230707-编程语言的变量覆盖 20230328-Epic Game更改修改更换安装目录 20230204 - 解决 Delphi 10.4 IDE 提示 socket error 10038 Access violation coreide270.bpl rtl270.bpl 20230126 - TurboGears 提示 builtins.NameError Session is not defined 20221112 - Find Device closed unexpectedly 问题解决 20220328 - BUG的出处 20220317 - 获取 .Net 版本的方法 20211015 - 解决华为 Matebook CPU 频率被锁在 0.39 GHz 的卡顿问题 20201118 - 解决CentOS7的RPMDB错误 rpmdb: BDB0113 Thread/process failed Thread died in Berkeley DB library 20201107 - 拯救 Discuz6 20201024 - 如何删除FF新鲜事 20201020 - 现代浏览器中表单自动完成功能带来的麻烦 20200331 - Zsh 下 使用 you-get 或 youtube-dl 时提示 no matches found 20200330 - Jetbrains IDE 提示 Unknown Module Type 的解决办法 20200320 - 解决 you-get 提示 urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1108)> 20200319 - 解决 macOS 上 zsh 提示 command not found 的问题 20200310 - 在macOS上删除LaunchPad中的顽固的带问号图标 20200221 - 记录云服务器中 cna12.dll 木马的解决 20190925 - 使 macOS 的 rm 命令删除到回收站的不完美办法
20190926 - macOS 下查看进程路径
Eric Lee · 2019-09-26 · via 博客园 - Eric Lee

首先,从 Activity Monitor 中查看进程 PID,然后使用以下命令查看。

另一个办法是,使用系统调用 proc_pidpath 。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>
#include <libproc.h>

int main (int argc, char* argv[])
{
    pid_t pid; int ret;
    char pathbuf[PROC_PIDPATHINFO_MAXSIZE];

    if ( argc > 1 ) {
        pid = (pid_t) atoi(argv[1]);
        ret = proc_pidpath (pid, pathbuf, sizeof(pathbuf));
        if ( ret <= 0 ) {
            fprintf(stderr, "PID %d: proc_pidpath ();\n", pid);
            fprintf(stderr, "    %s\n", strerror(errno));
        } else {
            printf("proc %d: %s\n", pid, pathbuf);
        }
    }

    return 0;
}