Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一个 systemd 服务文件,我在其中设置不同于 root 的用户和组。应用程序使用此服务文件运行。应用程序fork()在其代码中使用来启动一个新进程。
fork()
问题是 fork 命令不起作用,即它无法创建子 PID。以 root 用户身份运行服务时不会发生同样的情况。请帮忙提出一些建议。有什么功能,我想在服务文件中添加吗?
CAP_SYS_ADMIN CAP_SYS_RESOURCE CAP_SETPCAP
已添加到我的服务文件中。
您应该首先检查来自的确切返回代码fork()以及errno. 您可能想使用perror(), 直接获取最后发生的错误的描述。
errno
perror()
但是,您的错误不太可能来自fork(). 这可能是另一个未按应有处理的呼叫的失败。