私は大学のためのminishellプロジェクトを行っています。私はバックグラウンドでコマンドを実行する方法がわかりません。私が知っていることは、私はwaitpid()とsigaction()を使わなければならないということです。もし誰かが私にこれを手渡すなら、私は感謝しています。ここで私が使用しているミニコードコマンドを利用するためのコードの一部です。Minishellの背景
void execute_command_line(command* cmds, int n){
pid_t id,pid;
int status;
id=fork();
if(id==-1){
exit(EXIT_FAILURE);
}
else if(if==0){
execvp(cmds[0] . argv[0],&cmds[0] .argv[0]);
exit(0);
}
else{
pid=wait(&status);
if(pid==-1){
perror("Father: an error has ocurred.\n");
exit(EXIT_FAILURE);
}
else if(pid==id){
printf("Father: the son has ended.\n");
}
}
}