FORK 不适用于 root 用户以外的用户
FORK not working for users other than root user
我有一个 systemd 服务文件,我在其中设置我的用户和组不同于 root。 运行 的应用程序使用此服务文件。该应用程序在其代码中使用 fork()
来启动一个新进程。
问题是 fork 命令不起作用,即它无法创建子 PID。 运行以 root 用户身份运行服务时,不会发生同样的情况。请帮忙提出一些建议。是否有任何功能,我缺少添加到服务文件中?
CAP_SYS_ADMIN
CAP_SYS_RESOURCE
CAP_SETPCAP
已添加到我的服务文件中。
您应该首先检查 fork()
中的确切 return 代码以及 errno
的内容。您可能想使用 perror()
,直接获取上次发生的错误的描述。
但是,您的错误不太可能来自 fork()
。这可能是另一个未按应有方式处理的呼叫失败。
我有一个 systemd 服务文件,我在其中设置我的用户和组不同于 root。 运行 的应用程序使用此服务文件。该应用程序在其代码中使用 fork()
来启动一个新进程。
问题是 fork 命令不起作用,即它无法创建子 PID。 运行以 root 用户身份运行服务时,不会发生同样的情况。请帮忙提出一些建议。是否有任何功能,我缺少添加到服务文件中?
CAP_SYS_ADMIN
CAP_SYS_RESOURCE
CAP_SETPCAP
已添加到我的服务文件中。
您应该首先检查 fork()
中的确切 return 代码以及 errno
的内容。您可能想使用 perror()
,直接获取上次发生的错误的描述。
但是,您的错误不太可能来自 fork()
。这可能是另一个未按应有方式处理的呼叫失败。