プロセス(私の場合はセッションリーダー)が制御端末を取得するにはどうしたらいいですか?私は出力に何も得るだろうとbeleived端末と新しいセッションの制御
1. fork;
2. parent -> while(1) or smth. similar;
3. child -> setsid();
exec "man ps";
:私は私のプログラムで行う
。 (子供はセッションリーダーなので、今は古いttyとは関係ありません)しかし、私は理由を理解していません。男は泣いた。しかし、インタラクティブではありません。 Ctrl-zを押すと、「q」を押すとインタラクティブになり、私のプログラム(親)に戻ります。だから、質問は次のとおりです。男はそのシェルでいくつかの出力を行いますなぜ
- (私はCtrl-Zを押す必要がある理由を、上記読み)初めに何が起こるかを説明してください?
- どのようにttyが接続されていなくても、どうやってそれを行うことができますか?(psで確認しましたが、TTYの欄に "?"があります)
- 最後に、新しいセッションリーダーがどのように制御端末を取得できますか?
open(/dev/tty)
以外の方法はありますか?