c - выход из состояния программы, работающей в фоновом режиме

У меня есть задание, в котором я должен создать мини-оболочку, которая способна делать много вещей, включая управление заданиями. Мне удалось создать новые рабочие места, используя fork и execvp. Но я также хочу получить коды выхода из программ, запускаемых execvp. Из того, что я нашел в других постах, я могу сделать это с помощью.if(WIFEXITED(status))

Но мы также должны запускать процесс в фоновом режиме, если пользователь вводит '&' с именем процесса в оболочке. Так что это неИмеет смысл дождаться, пока родительский процесс подождет, пока дочерняя программа завершит работу в фоновом режиме. Могу ли я установить какое-либо прерывание, уведомляющее родительский процесс о завершении дочернего процесса? Тогда я могу использоватьif(WIFEXITED(status)) заявление, чтобы получить код выхода.

пример

sleep 100 &

будет работать в фоновом режиме, в то время как я могу одновременно выполнять другие команды оболочки на переднем плане.

Ответы на вопрос(1)

Ваш ответ на вопрос