私はLinuxを初めて使用し、アプリケーションの実行を期待しています(10秒ごとにLEDを切り替えます)。アプリケーションを作成し、正常に動作しますが、起動時に自動的に起動したいと思います。
文書ここ起動スクリプトが/etc/init.d
ディレクトリにコピーされ、コピーされたスクリプトへのシンボリックリンクがディレクトリに作成されることを示しますrc.d
。
このスクリプトファイルの拡張子と名前は何ですか?シンボリックリンクを手動で追加できますかrc.d
?それとも特別な手順がありますか?
実装方法の提案がありますか?
ベストアンサー1
これはから抜粋したものです。http://www.debian-administration.org/articles/28これはあなたの質問に答えるようです。
注:以下のサンプルスクリプトのstart)
「」部分に呼び出しを追加すると、プログラムは実際に起動します。システムを再起動せずにスクリプトの機能をテストできます。フルパスを使用してスクリプトを呼び出し、 " start
"または" stop
"パラメータを指定します。
スタート:
Debian は、Sys-V に似た init システムを使用して、システムの実行レベルが変更されたとき (たとえば、開始および終了時) コマンドを実行します。
コンピュータの起動時に起動する新しいサービスを追加するには、このディレクトリに必要なスクリプトを追加する必要があります/etc/init.d/
。このディレクトリには、実行できる操作の例を提供する多くのスクリプトがすでにあります。
これは、常に実行されるコードと、「開始」または「停止」として呼び出されたときに実行されるコードの2つの部分に分かれた非常に単純なスクリプトです。
#! /bin/sh
# /etc/init.d/blah
#
# Some things that run always
touch /var/lock/blah
# Carry out specific functions when asked to by the system
case "$1" in
start)
echo "Starting script blah "
echo "Could do more here"
;;
stop)
echo "Stopping script blah"
echo "Could do more here"
;;
*)
echo "Usage: /etc/init.d/blah {start|stop}"
exit 1
;;
esac
exit 0
ファイルを正しい場所に保存し、「」を実行して実行可能であることを確認してくださいchmod 755 /etc/init.d/blah
。
その後、システムのシャットダウンまたは起動時にスクリプトが実行されるように適切なシンボリックリンクを追加する必要があります。
最も簡単な方法はDebian固有のコマンドを使用することですupdate-rc.d
。
root@skx:~# update-rc.d blah defaults
Adding system startup for /etc/init.d/blah ...
/etc/rc0.d/K20blah -> ../init.d/blah
/etc/rc1.d/K20blah -> ../init.d/blah
/etc/rc6.d/K20blah -> ../init.d/blah
/etc/rc2.d/S20blah -> ../init.d/blah
/etc/rc3.d/S20blah -> ../init.d/blah
/etc/rc4.d/S20blah -> ../init.d/blah
/etc/rc5.d/S20blah -> ../init.d/blah