В основном, я изучаю труба и dup системные вызовы.Как открыть новое окно xterm и запустить команду в этом окне с помощью вызовов fork-exec? (Только для программы C)
Я хочу взять имя-команду с (например, Ls, компакт-диск, MkDir и т.д.) в качестве входных данных из родительского процесса и передать его дочерний процесс с помощью трубы, дочерний процесс должен открыть окно нового XTERM и покажите страницу руководства команды, записанной в трубе, в этом новом окне xterm.
Проблема заключается в том, что exec изменяет весь образ процесса ребенка, поэтому любой написанный код просто игнорируется (если exec был успешным). Поэтому, если я выполняю дочерний процесс на «/ bin/xterm», тогда любой exec вызовы в дочернем блоке удаляются, так как образ процесса изменяется на xterm.
Так как я могу позвонить/bin/man?
Непонятно, о чем вы просите. Вам нужен способ для exec/bin/man или вы хотите передать информацию дочернему процессу, который вы создали? – cegfault
Вы можете просто запустить имя команды ''/usr/bin/xterm '' -e ''/bin/man '', которое вы читаете из канала здесь, и пусть xterm сделает второй fork & exec для вас – Useless
Большое спасибо, он работал, я больше поработал над тем, как работает exec после его чтения. – 1c3b3r6