Gettyが所有するシリアルポートを解放する方法

Gettyが所有するシリアルポートを解放する方法

私は機械のペアを持っています。ヌルモデムシリアルケーブルを介して互いに接続されています。これらの機械は時々誤動作を引き起こし、それを診断する唯一の方法は、ペアの他のノードを使用して対応するケーブルを使用することです。

これらのデバイスには、シリアルデバイスで実行するようにGettyが設定されています/dev/ttyAMA0。これはデフォルトで設定されており、できるだけデフォルト設定に近づけたいと思います。

問題はこれである:

minicom他のデバイスにログインするために同様の機能を使用できるように、Gettyにデバイスコントロールを放棄させることはできないようです。残念ながら、何かがすぐに再開されるように見えるので、単に殺すことはうまくgettyいきません。

どうやってgetty止めることができますか?

ベストアンサー1

(ところで、「GeTTY」という綴りを見たことがありません。正確ではないようです。)

つまり、gettyコメントアウトし/etc/inittabて実行してinit q構成を再読み込みして無効にすることができます。 systemdやUpstartを使用しない限り、そう言わなかったので使用しないと仮定します。

より長い答えは、設定に本質的に誤りがあり、欠陥があることです。 2 つのシリアルポートで実行される場合、getty2 つgettyのプロセスは互いに無限にチャットを開始する危険があります。つまり、1つはプロンプトを送信し、もう1つはそれをユーザー名として解釈して独自のプロンプトを生成し、元の側ではユーザー名として解釈される式です。

この問題を処理する正しい方法は、各方向に1つずつ2つのシリアルポートを使用することです。システム1のコンソールシリアルポートはシステム2の追加シリアルポートに接続され、システム2のコンソールシリアルポートはシステム1の追加シリアルポートに接続される。両方のシステムの「追加」シリアルポートは実行されていないためgetty(コンソールシリアルポートのみが実行されます)、無効にされず、gettyポートは背中で直接使用できscreenますcu

「追加」シリアルポートの場合、システムに内蔵シリアルポートが十分でない場合は、USBシリアルポートアダプタを使用できます。これらのポートは、システムが完全に起動した後にのみアクセスできるため(コンソールシリアルポートとは異なり)、起動シーケンスが半分になるまで初期化されないUSBバスに存在する可能性があります。

おすすめ記事