我有一个可执行文件,它有一些系统命令(基本上它可以复制和运行脚本文件)。当我独立测试时(自己像sudo一样启动可执行文件)system()
工作正常。
现在我将我的可执行文件与supervisord
集成在一起。我的可执行文件的功能正常,但system()
命令以255 / -1(8位表示)失败。
我检查的事项清单:
还有其他建议吗?
答案 0 :(得分:0)
system("sudo cp ./Scripts/x.sh /tmp/");
sudo是获取超级用户权限的命令。它通常会提示您输入密码(但在某些情况下,它会跳过它)。如果它没有控制台提示你,它可能会失败。
无论如何你不应该这样做。您只需编写system("cp ./Scripts/x.sh /tmp/")
并使用root访问权启动您的程序(supervisord可能有办法执行此操作)。