さまざまな作業ディレクトリを使用した起動スクリプトの作成

さまざまな作業ディレクトリを使用した起動スクリプトの作成

今年初め、私は3Dプリンタを制御するためにRaspberry Piにoctoprintをインストールしました。

私はoctoprintを使用して同時にpi制御2プリンタを持つことができました。 2台目のプリンタを見るために2台目のカメラ(USB)も追加しました。私は2番目のカメラを実行し、オクトプリントを編集して2つの違いを確認する方法を見つけました。

私の唯一の問題は、ラズベリーパイを再起動するたびに別の作業ディレクトリに変更する必要があることです。

cd ~/mjpg-streamer

次に、2番目のカメラを起動します。

./mjpg_streamer -i "./input_raspicam.so -fps 5" -o "./output_http.so -p 8090"&

起動時にカメラを起動するスクリプトを書いて、毎日Raspberry PiにSSHとしてログインしてコマンドを送信する必要がないようにしたいと思います。起動スクリプトの作成に関する多くの情報が見つかりましたが、その中の作業ディレクトリを変更する方法については見つかりませんでした。

私はこれを使って起動スクリプトを作成しました(失敗):

sudo nano /etc/init.d/startsecondcamera

ベストアンサー1

手動で実行するのと同じように、起動スクリプトで実行前のcdタスクを実行するようにします。mjpg_streamer

#!/bin/sh

cd /home/geilisa/mjpg-streamer
./mjpg_streamer -i "./input_raspicam.so -fps 5" -o "./output_http.so -p 8090"

これはホームディレクトリがあると仮定します/home/geilisa

~ルートとして実行できるため、スクリプトでは使用できません。ユーティリティをrootとして実行できない場合は、sudo -u gelisia ./mjpg_streamer ...スクリプトでユーザーとして実行を使用してくださいgelisia


別のアプローチは、起動時に実行されるクローンジョブを追加することです。

@reboot cd /home/geilisa/mjpg-streamer && ./mjpg_streamer -i "./input_raspicam.so -fps 5" -o "./output_http.so -p 8090"

コマンドを使用してcrontabに追加しますcrontab -e。これにより、crontab(おそらく空のファイル)があるエディタが開きます。上記の行を追加、保存、終了します。

私が知る限り、ほとんどのクローンは通常、実際のコマンドの前にある5つの作業スケジュール列の代わりに@reboot(および@hourlyetc)使用を許可します。@daily

おすすめ記事