#c #bash #shell #fork #child-process
#c #bash #оболочка #fork #дочерний процесс
Вопрос:
Я получил и работаю, поэтому, если я это сделаю
ls -l amp;
затем он продолжит запрашивать ввод, выполняя как дочерний, так и родительский одновременно. Однако выполнение
Наверх amp;
выводит весь журнал процессов сверху (не позволяя пользователю видеть следующее приглашение), что не так, как работает обычная оболочка. В обычной оболочке команда top amp; переводит начало в фоновый режим, позволяя по-прежнему вводить следующую команду.
вот мой соответствующий код для execvp (), fork () и wait().
pid = fork();
if(pid < 0){
return 1;
}
else if (pid == 0){
execvp(args[0], args);
}
else{
/* if no ampersand, wait for child to finish */
if(!ampersand){
while(wait(amp;status) != pid);
}
}
любые советы или подсказки будут оценены.
Комментарии:
1. Вам нужно узнать, как реализовано управление заданиями.