У меня возникли проблемы с получением execl для работы.Проблема с выполнением execl() для работы
pid_t pid = fork();
if(pid<0) {
perror("fork error\n");
} else if(pid== 0){
execl("/home/"user name"/opSys", "ps", ">>", "test.txt", (char*)NULL);
} else {
int returnStatus;
waitpid(pid, &returnStatus, 0);
}
Я пытаюсь заставить его запустить команду, а затем вывести ее в текстовый файл, однако ничего не происходит. Я искал поисковые запросы и пытался найти то, что нашел, например, разные exec. Я пробовал execlp(), я попытался просто заставить его использовать ps ant, а не помещать его в файл.
Я извиняюсь, если на это был дан ответ, который, я уверен, он имеет, однако я не могу найти решение, которое работает для меня. Спасибо заранее.
Объясните мне это '«/ дома /»имя пользователя«/ OPSYS»'. –
Был ошибкой в сообщении, я исправил его. – lostknight
'>>' - оператор оболочки. 'execl' этого не понимает. Он передаст '>>' программе 'opSys', а не оболочке. Это не то, что вы хотите. – kaylum