Тема курсовой "диспетчер задач", для win пишется просто и непринужденно, а тут я даже не знаю. Ни библиотек для процессов не нашел, ни примера, как надо передавать данные в терминал.
Просто надо немного потратить времени, дабы научиться подбирать кейворды для запросов к гуглу. В случае windows можно просто добавлять к любому запросу "msdn", в линуксе нет. Кстати, утилита man тоже пригодится, немного позже.
Диспетчер задач можно реализовать путём контроля за директорией /proc. Это виртуальная файловая система, при запросе к любому файлу или директории в /proc ядро Linux генерирует актуальный результат. Собственно каждая директория в /proc, название которой - число, хранит актуальную информацию о состоянии процесса с pid, соответствующим имени директории.
Если всё-таки надо вызвать утилиту, передать и вернуть результаты можно с помощью именованных каналов. Некоторые библиотеки могут скрыть эти детали за удобным интерфейсом, например в Qt есть класс QProcess. Но есть смысл отказаться от вызова команд и использовать функции POSIX и обход диретории /proc.
P.S. Обновлять список процессов придётся повторным обходом /proc. Вообще-то в линуксе есть inotify, позволяющий программе отслеживать выбранные типы изменений в папке, но для директории /proc inotify не работает.