5

私は組み込みプロジェクトに取り組んでいます。そこでは、screenやtmuxのように機能する外部依存関係のないプログラムが必要です。これらの2つのプログラムは、他のライブラリが必要なため、適切ではありません。

プログラムを切り離すだけで、ログアウトして再度ログインしたときに元に戻せるので、そのための小さなプログラムを書けるのではないかと思っていました。

プログラムを切り離して元に戻すために(Cで)どの呼び出しを行う必要があるか知っていますか?

4

1 に答える 1

4

あなたの要件を正しく理解していれば、理論的には termios struct と ioctl を使用してこれを実現できます。

ioctl(0, TIOCNOTTY, NULL);

切り離して

ioctl(0, TIOCSCTTY, 1);

ターミナルに取り付けます。ただし、実際にはジョブを実行しません。

次の解決策は、あまり良くないが実用的な回避策を説明しています

tty 解乳化

主な目的は、プログラムを別の端末に接続することですが、それが目標を達成する方法でもあると思います。

組み込みプラットフォームについての言及については、 busyboxからヘルプを見つけることができるかもしれません。

非常に小さなバイナリで組み込み Linux 用にコンパイルされ、getty、stty などの一般的に使用される Linux ユーティリティのほとんどが含まれています。

于 2012-10-30T12:16:22.230 に答える