I’m making a shell in C for a school project that is capable of running processes in parallel if it is commanded to do so. This is the loop of the shell application that waits for commands: Please do disregard the constants being incremented and decremented. Now, this only works partially. Whenever I give it a command to create another
Tag: execv
reading from stdin after execl() bash return an eio(Input/output error)
The following code can act as expected if executed by a shell. But if I set this program as a user’s shell and ssh into the host to execute this program as a shell, the read(0, &buf123, 1); will return an EIO(Input/output error): But if a change execl(bash) into non-interactive bash execl(bash -c “id”) or other program rather than bash,