Я сделал псевдо-терминал с помощью метода, описанного здесь: 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
, он тихо завершится. (Я проверил это с помощью Монитора активности)
fg
fg
ftp
bash-3.2$
fg
fg
bash: fg: current: no such job
bash-3.2$
Я думаю, что ему нужна дополнительная инфраструктура (которая дополняет псевдотерминал), чтобы переключить управление на дочерний процесс. Что для этого требуется?