Использование fork () и exec () для запуска процесса в новом окне терминала - PullRequest
0 голосов
/ 07 января 2019

Я хочу написать программу вроде:

pid_t p = fork();
if(p>0)
{
 /* take some input from the user and send it to the child process */
 /* if child sends any message, print it */
}
else
{
 /* take some input from the user and send it to the parent process */
 /* if parent sends any message, print it */
}

Как видно, родительский и дочерний процессы могут читать с консоли и выводить на нее. Если они оба работают на одном и том же терминале, входной буфер будет общим, поэтому ввод данных, специфичных для процесса, невозможен. Итак, я хочу запустить дочерний процесс в новом окне терминала. Итак, мой вопрос: существует ли способ использования системных вызовов fork () и exec () (если требуется) для запуска дочернего процесса в новом окне терминала? Если нет, то есть ли какой-нибудь обходной путь?

...