ttyプロセスにログインして実行するように/etc/init.d/rc.localを編集します。

ttyプロセスにログインして実行するように/etc/init.d/rc.localを編集します。

を実行すると、起動ps-e時に以下が表示されます。

PID  TTY CMD
...
1880 ?   my_auto_script
1881 tty1 login
1882 tty2 getty

...

my_auto_scriptから呼び出されます/etc/rc.local。私は/etc/init.d/rc.local次のように構成しました。

Required-Start: $all
Default-Start: 2 3 4 5

したがって、このタスクは最後に実行する必要があります。しかし、ttyどのプロセスの後でも実行されないようです。これが私に必要なものです。これをどのように実行しますか?

答え1

sttyはで作成されます/etc/inittab。デフォルトでは、これを生成する行はrcスクリプトを実行する行の後に続きます。たとえば、私のものには(カスタムではない)inittab次のものがあります。

...
l0:0:wait:/etc/init.d/rc 0
l1:1:wait:/etc/init.d/rc 1
l2:2:wait:/etc/init.d/rc 2
l3:3:wait:/etc/init.d/rc 3
l4:4:wait:/etc/init.d/rc 4
l5:5:wait:/etc/init.d/rc 5
l6:6:wait:/etc/init.d/rc 6
...
1:2345:respawn:/sbin/getty 38400 tty1
2:23:respawn:/sbin/getty 38400 tty2
3:23:respawn:/sbin/getty 38400 tty3
4:23:respawn:/sbin/getty 38400 tty4
5:23:respawn:/sbin/getty 38400 tty5
6:23:respawn:/sbin/getty 38400 tty6

それではrc.local実際にソースがあるのですね。今後あなたttyのが作成されました。回線を変えるのは安全ではないと思います。私の考えでは、もっと知識が豊富な人が確認/反論するのを待たなければならないようです。

ユーザーがログインする前に最後の瞬間にカスタマイズしたい場合は、スクリプトを追加してみてはいかがでしょうか/etc/profile.d。これは、VTだけでなく、端末エミュレータで実行されるシェルにも影響します。

答え2

スタートプログラム(含む/etc/rc.local)これがスタートアッププログラムの中核です。起動時に、ユーザーがログインする前に実行されます。

システムの起動時にプログラムを実行させ、プログラムが完了するまでユーザーがログインできるようにするには、2つのオプションがあります。多くのバージョンのcron@rebootでは、起動時にジョブを実行するためにランタイムの代わりにランタイムを指定できます。これが@rebootサポートされているかどうかを確認するには、システムのcrontab(5)マニュアルを確認してください。または(または他の起動スクリプト)でプログラムを実行しますが、/etc/rc.localバックグラウンドで実行してください。

/path/to/my_auto_script &

関連情報