/etc/rc.local から複数の無限ループ スクリプトを実行する

/etc/rc.local から複数の無限ループ スクリプトを実行する

システムの起動時に 3 つの無限ループ スクリプトを実行したいのですが、私のアイデアは機能しません。

##!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
cd /
cd home
cd pi
cd steamidle
node lostkiko1.js &
node lostkiko2.js &
node d.js

exit 0

最初のスクリプト (ある場合) が実行されるだけです。 理由は明らかだと思います。 スクリプトが無限であるため、最初のスクリプトで停止します... これを修正する方法がわかりません。 誰か知っていますか? ありがとうございます!

答え1

使用しないでくださいcd。これは冗長です。 のようなフルパスを使用してください。node /home/pi/steamidle/lostkiko1.js &また、最後のスクリプトも で終わる必要があります&。シェルは の終了を待機し続けrc.local、他のプロセスをブロックするためです。

答え2

「スタートアップ アプリケーション」アプリケーションでスクリプトごとに個別のエントリを追加できます。

Super キーを押して Dash 検索を起動し、「スタートアップ アプリケーション」を検索します。そこで、スクリプトごとにエントリを追加できます。たとえば、最初のコマンドの場合は、コマンドとして「node /home/pi/steamamidle/lostkiko1.js」を追加します。

関連情報