システムの起動時に 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」を追加します。