在iOS系统上以编程方式从进程pid获取其他应用程序的目录路径?

2023-12-21

如何从进程pid中获取其他应用程序的目录路径?

iOS 上似乎没有 proc_pidpath 调用。


以下适用于 iOS 并使用sysctl像 Activity Monitor Touch 这样的应用程序正在 App Store 中使用,因此 Apple 应该可以接受。但是,一旦获得该路径,您打算对其进行的操作可能不会被 Apple 接受。如果您不打算将应用程序提交到应用程序商店,那么这可能不是问题。

- (NSString *)pathFromProcessID:(NSUInteger)pid {

    // First ask the system how big a buffer we should allocate
    int mib[3] = {CTL_KERN, KERN_ARGMAX, 0};

    size_t argmaxsize = sizeof(size_t);
    size_t size;

    int ret = sysctl(mib, 2, &size, &argmaxsize, NULL, 0);

    if (ret != 0) {
        NSLog(@"Error '%s' (%d) getting KERN_ARGMAX", strerror(errno), errno);            

        return nil;
    }

    // Then we can get the path information we actually want
    mib[1] = KERN_PROCARGS2;
    mib[2] = (int)pid;

    char *procargv = malloc(size);

    ret = sysctl(mib, 3, procargv, &size, NULL, 0);

    if (ret != 0) {
        NSLog(@"Error '%s' (%d) for pid %d", strerror(errno), errno, pid);            

        free(procargv);

        return nil;
    }

    // procargv is actually a data structure.  
    // The path is at procargv + sizeof(int)        
    NSString *path = [NSString stringWithCString:(procargv + sizeof(int))
                                        encoding:NSASCIIStringEncoding];

    free(procargv);

    return(path);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在iOS系统上以编程方式从进程pid获取其他应用程序的目录路径? 的相关文章

随机推荐

  • 奥里利亚的全球职能

    我试图弄清楚如何在 Aurelia 中存储类似 全局 的函数 我已经按照这个教程 http blog durandal io 2015 04 24 aurelia custom elements and content selectors
  • 使用 Typescript 从 switch case 返回进行类型推断

    函数的类型 type fn01 name string gt void type fn02 age string gt void type fn03 description number gt void 我有这样一个案例 type Opti
  • 检测二维图中的倾角

    我需要自动检测二维图中的倾角 如下图中用红色圆圈标记的区域 我只对 主要 倾角感兴趣 这意味着倾角必须在 x 轴上跨越最小长度 倾角的数量是未知的 即不同的地块将包含不同数量的倾角 有任何想法吗 Update 根据要求 这里是示例数据 以及
  • 通过单元测试访问 Symfony 2 容器?

    如何在单元测试中访问 Symfony 2 容器 我的图书馆需要它 所以它是必不可少的 测试类扩展 PHPUnit Framework TestCase所以没有容器 Symfony 现已内置支持 看http symfony com doc m
  • Web应用程序访问用户的文件系统

    我正在为我的客户创建一个网络应用程序 该应用程序将安装在公司网络内的专用服务器上 他想在网页上查看他的本地文件列表 来自他的本地 PC 他的意思是任何访问者都可以从某个文件夹中看到他的本地文件列表 I knowWeb 应用程序无法访问访问者
  • React-select:如何在选项中显示 HTML

    我想知道react select是否可以在渲染选项中显示html 例如 如果获取的 ajax 选项有 b text b 我希望在下拉菜单中看到粗体文本 而不是看到 b text b 我阅读了文档 但没有找到任何选项 谢谢 我实现了上述解决方
  • 什么是 DOM 元素?

    以下语句中 DOM 元素的含义是什么 声明 1 https stackoverflow com questions 1065435 can a css class inherit one or more other classes 1065
  • 如何使用 W3C EBNF-Notation 并生成解析器生成器?

    在整个 RDF 规范中 EBNF NOTATION XML 规范用于指定文档的语法 所以我想知道如何使用 Antlr bison yacc 也许这些工具中的一些标志我不知道如何搜索 或者我还不知道的其他工具 来使用这些规范并生成解析器供我在
  • 如何记录 QApplication 未捕获的异常?

    我应该在哪里使用 except 块来记录异常QApplication 这似乎不起作用 app QtGui QApplication sys argv MainWindow MainWindow MainWindow show try eve
  • 查看文件路径是否在目录内

    如何检查不一定存在的文件的路径是否指向特定目录内的位置 说我有一个方法 bool IsInside string path string folder 然后 如果我这样称呼它 IsInside C Users Dude Hi C Users
  • VIsual Studio 2010,轻松最大化/最小化编辑器?

    有没有一种简单的方法可以最大化and最小化 恢复 Visual Studio 中的编辑器 为了演示 我正在寻找 Eclipse 具有的功能 正常布局 点击一个组合键 你就会得到这个 这看起来有点像 VS2010 中的 Windows gt
  • Python Plotly - 多个下拉图,每个下拉图都有子图

    Problem 我正在尝试结合两个 Python Plotly 功能 其中之一是下拉菜单 用户可以在其中切换绘图 链接到示例 https plot ly python dropdowns 另一个特点是次要情节 我的尝试 我有使用下拉菜单的工
  • 为 log4net 设置动态连接字符串

    我正在使用 log4net 并且我想在 log4net 配置中引用一个连接字符串 因为 Config connectionStrings config 中的连接字符串将是来自用户的动态输入 这是我正在尝试做的事情
  • 如何在不打开 Whatsapp 应用程序的情况下向 Whatsapp 发送消息到指定号码

    我想将消息发送到 Whatsapp 指定号码 而无需单击按钮打开 Whatsapp 应用程序 提前致谢 None
  • mysql加载数据本地infile

    我正在尝试使用下面的代码使用 LOAD DATA LOCAL INFILE 将数据加载到 mysql 表中 Mysql LOAD DATA INFILE var www vhosts domain com httpdocs test1 cs
  • 有人可以帮我编译 PHP runkit DLL 扩展吗?

    我放弃 我问过这个问题 https stackoverflow com questions 4667333 where can i get runkit dll extensions for php 5 3前一段时间 但我又陷入了这个问题
  • JavaCard 中的类字节到底是什么?

    我已经开始使用 JavaCards 并试图掌握 CLA 字节的含义 如果要读RFC 5 4 1 类字节 http www cardwerk com smartcards smartcard standard ISO7816 4 5 basi
  • Android studio - 部署发布 apk 而不是调试

    Android Studio 中的运行配置仅允许您部署默认 调试 APK 但我已经通过从 Android Studio 中运行 gradle assembleDebug 作为外部工具 构建了一个发布 APK 并且希望改为部署它 但似乎您无法
  • GWT RequestFactory:如何从 stableId() 获取持久 id?

    I use Long我的实体中的 ids 不仅将它们存储在数据存储中 而且还引用其他实体 现在 我使用 RequestFactory 在客户端上 create 对象并保留它们 但我需要一种方法来找出服务器生成的 id 这是我发现的一种需要两
  • 在iOS系统上以编程方式从进程pid获取其他应用程序的目录路径?

    如何从进程pid中获取其他应用程序的目录路径 iOS 上似乎没有 proc pidpath 调用 以下适用于 iOS 并使用sysctl像 Activity Monitor Touch 这样的应用程序正在 App Store 中使用 因此