アプリケーションが自動的に起動するように設定

アプリケーションが自動的に起動するように設定

これには、Linuxにデプロイされたアプリケーションがあり、Linuxが起動したときにアプリケーションが自動的に起動したいと思います。'sudo ./start'アプリケーションの起動などのコマンドを使用しています。どうすればいいですか?

オペレーティングシステム:CentOS 6

答え1

私はそれをお勧めしません/etc/rc.local。これは昔のUnix時代の遺物です。一部のLinuxはサポートされなくなりましたrc.local

ただし、アプリケーション/サービスは正しく開始できますが、プロセスは正常に終了しません。

システム自体の初期化スクリプトメカニズムシステム突然現れる,...).次のrcスクリプトを作成します(システムにスケルトン/テンプレートがある可能性があります/etc/init.d/skeleton)。

#!/bin/bash
. /etc/init.d/functions

start() {
        echo -n "Starting <servicename>: "
        #/path/to/the/executable/of/your/application
}

stop() {
        echo -n "Shutting down <servicename>: "
        #command_to_gracefully_end_the_application
}

case "$1" in
    start)
        start
        ;;
    stop)
        stop
        ;;
    status)
    #command_to_report_the_status
    ;;
    restart)
        stop
        start
        ;;
    *)
        echo "Usage: <servicename> {start|stop|restart}"
        exit 1
        ;;
esac
exit $?

スクリプトを /etc/init.d/ に入れて実行可能にし、システムに追加します。ランレベル3、4、5:

chkconfig --level 345 <servicename> on

手動で開始および停止することもできます。

service <servicename> start
service <servicename> stop

答え2

/etc/rc.localほとんどのLinuxはシステム起動時に一度実行されます。エディタでこのファイルを開き、コマンドを追加してアプリケーションを起動します。

sudoスクリプトは root として実行されるため、コマンドの前にプレフィックスを付ける必要はありません。

バックグラウンドでコマンドを実行するには、コマンドの最後に「&」(アンパサンド)を追加する必要があります。これにより、アプリケーションが一度にコマンドを完了できない場合にシステムが起動するのを防ぎます。

myscript次のファイルを実行する例/usr/local/bin/

# place near the end of /etc/rc.local
/usr/local/bin/myscript &

答え3

cronを使うと私には効果的でした。

# enter crontab edit
crontab -e

# place this inside the cron file you opened with the previous command
@reboot /path/to/your/script.sh

関連情報