0
我正在編寫一個基本的shell來作爲一個類的任務給出,它在Linux上工作正常,但我遇到的問題是在子進程退出時重新獲取終端的控制權在OSX上。OSX上的SIGTTOU/SIGTTIN調用tcsetpgrp()
我試着打電話給tcsetpgrp(STDERR_FILENO,getpgrp());但它被SIGTTIN和SIGTTOU中斷。如果我忽略這些信號,終端將無法讀取或寫入。
謝謝。
我正在編寫一個基本的shell來作爲一個類的任務給出,它在Linux上工作正常,但我遇到的問題是在子進程退出時重新獲取終端的控制權在OSX上。OSX上的SIGTTOU/SIGTTIN調用tcsetpgrp()
我試着打電話給tcsetpgrp(STDERR_FILENO,getpgrp());但它被SIGTTIN和SIGTTOU中斷。如果我忽略這些信號,終端將無法讀取或寫入。
謝謝。
已解決。問題不是太好。
答案是我需要把孩子放在自己的過程組中,並使之成爲會議的領導者。