Как заставить команду «top

#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. Вам нужно узнать, как реализовано управление заданиями.

2. gnu.org/software/libc/manual/html_node/…