Я сделал псевдотерминал с методом, описанным здесь: http://lists.apple.com/archives/student-dev/2005/Mar/msg00019.html
Сам терминал работал хорошо. В любом случае проблема заключается в том, что терминал не может быть переключен на дочерний процесс. Например, я запустил bash
с NSTask
, и если я выполню ftp
в bash
, он автоматически остановится.
ftp
ftp
ftp>
[1]+ Stopped ftp
bash-3.2$
И если я попытаюсь продолжить ftp
с fg
, он тихо завершится. (Я проверил это с помощью Activity Monitor )
fg
fg
ftp
bash-3.2$
fg
fg
bash: fg: current: no such job
bash-3.2$
Я думаю, что для переключения управления на дочерний процесс нужна еще какая-то инфраструктура (которая дополняет псевдотерминал). Что для этого нужно?