swift - Swift/MacOS:以 root 权限启动进程
问题描述
我的应用程序应该检查服务当前是否正在运行。在终端中,命令将是
sudo launchctl list | grep some_service
我似乎无法找到任何资源来创建和使用特权助手来运行受保护的命令。
然而,我找到了这个相当粗略的解决方案,但它安全吗?
另外,是否可以只提升应用程序的权限以每次都以 root 身份运行?如果是这样,我会怎么做?
解决方案
Cocoa 的等价物launchctl list
是ServiceManagement 框架中的SMCopyAllJobDictionaries(_:)。
它被弃用了一段时间,但它仍然有效。
可以使用SMJobBless( : : : :)和 XPC 服务创建特权助手,但这并非易事。
推荐阅读
- c - 是否可以将格式说明符视为变量?
- python-docx - 使用 python docx 在 add_picture() 中是否有属性“适合页面”
- windows - Windows 中 Scala REPL 输出未显示颜色
- matlab - matlab parfor 在大型矩阵上的操作非常慢
- angular - 如何以嵌套方式呈现记录列表Angular异步管道
- debugging - 当它在 WinDbg 中的不同偏移量时,如何设置断点以定位此模拟位置?
- android - 我可以在首选项屏幕上的一个设置中创建多个复选框吗?
- java - 在运行时将字符串转换为浮点数
- python - 非齐次泊松过程
- java - 如何在 Intellij Idea 中为 Spring Boot 项目构建 jar 文件?