起動時に /etc/init/ttys0.conf を自動的に実行するにはどうすればよいですか?

起動時に /etc/init/ttys0.conf を自動的に実行するにはどうすればよいですか?

にスクリプトがあります/etc/init/ttyS0.confシリアルコンソールアクセス用のKVMゲストの設定そのため、ネットワーク インターフェイスが壊れていても、シリアル接続を介してアクセスできます。

ttyS0を実行して起動することができsudo start ttyS0、再起動するまでは正常に動作します。システムを再起動すると、 はttyS0実行されなくなります。

このスクリプトを起動時に自動的に実行するにはどうすればよいですか?

ありがとう


私のスクリプトは次のようになります:

# ttyS0 - getty
#
# This service maintains a getty on ttyS0 from the point the system is
# started until it is shut down again.

start on stopped rc RUNLEVEL=[2345]
stop on runlevel [!2345]

respawn
exec /sbin/getty -L 115200 ttyS0 xterm

答え1

からここ

respawn
console none

start on (local-filesystems)
stop on [!12345]

script

exec start ttyS0
end script

おそらく動作するはずです。そうでない場合は、start tty0 を、開始したいものを開始するスクリプトに置き換えます。

答え2

これを行うにはいくつかの方法があります。

スクリプトがプロセスを呼び出す場合は、/etc/init.d を使用できます。

スクリプトを /etc/init.d に配置し、chmod a+x "script" を使用してファイルの権限を変更する必要があります。次に update-rc.d "script" defaults を実行すると、すべてが起動します。これで、起動時にスクリプトが開始するはずです。

他にもいくつか例を挙げます。

例1

例2

答え3

Ubuntu は、ランレベルに基づいて SYSV スタートアップ (Debian と同じ) を使用します。

現在使用しているランレベルにスクリプトを追加する必要があります。Ubuntuの場合、初期化プロセスはデフォルトで 2 です。したがって、ttyS0.conf を rC2.d ディレクトリに追加し、プロセスを開始する (停止しない) ことを指定する必要があります。次のようにスクリプトにソフト リンクを追加することでこれを行うことができます。

ln -s /etc/init/ttyS0.conf /etc/rc2.d/S99ttyS0.conf

S99 プレフィックスは、「S」-> スクリプトの開始を示し、「99」はスクリプトを起動する順序を示します (このスクリプトの後に他のスクリプトを実行する必要がある場合は、この番号を小さくします)。

次に、再起動 (ランレベル 6) またはシャットダウン (ランレベル 0) 時に停止する必要があります。

ln -s /etc/init/ttyS0.conf /etc/rc0.d/S99ttyS0.conf
ln -s /etc/init/ttyS0.conf /etc/rc6.d/S99ttyS0.conf

プレフィックスは、「S」が停止スクリプトである点を除いて同様です (ランレベル 0 および 6 のみ)。

これがお役に立てば幸いです。詳細情報ここ

関連情報