流程执行(EXEC)程序



我的程序应读取用户ID和密码。如何通过流程使其发挥作用。

1)在execl()函数上读取。此功能不会返回。当验证程序结束时,孩子将退出。因此,您的write()呼叫永远不会发生。

2)您似乎在源代码上调用execl()。您需要将源代码编译到可执行程序中,以便以这种方式运行它。检查Execl()是否失败:

execl("/bin/bash", "bash", "-c", "echo hello", NULL); // Only returns if execl fails
perror("execl failed");
exit(1); // Make sure child exits if execl fails

3)致电叉后,您应该检查(PID == 0)对孩子。您正在错误地测试(PID),这对父母而不是孩子是正确的。

4)write()呼叫应由父母而不是孩子进行。儿童执行官的执行官将成为验证程序,并且永远不会返回您的代码。

这是一个开始。祝你好运!

最新更新