Linuxシステムの起動時にプログラムを自動的に起動する方法

小云云
リリース: 2023-03-21 17:54:02
オリジナル
3665 人が閲覧しました

Linux システムで起動時にプログラムを自動的に起動する方法 重要なヒント: システム サービスは通常、起動時に自動的に起動できます。では、Windows システムで起動時にプログラムを自動的に起動したい場合はどうすればよいでしょうか。 「スタート」→→「すべてのプログラム」→→「スタートアップ」にショートカットを置くだけですが、Linuxシステムの場合はどうでしょうか? ...システム サービスは通常、コンピュータの電源を入れると自動的に開始されます。では、Linux システムでコンピュータの電源を入れるときにプログラムを自動的に開始したい場合は、どうすればよいでしょうか。 " --> "すべてのプログラム" -- > "スタートアップ" にショートカットを置くだけですが、Linux システムではどうですか?

これも比較的単純な問題です。解決方法はたくさんあります。簡単な紹介なので、具体的な内容はあまり詳しくありませんが、関連するマニュアルを読むことができます。

1./etc/rc.local
これは最も簡単な方法です。「/etc/rc.local」を編集し、「」と同様にシェルコマンドを入力してプログラムを起動します(コマンドのフルパスを入力する必要があります)。 Windows で「スタートアップ」をクリックします。
コマンド vi /etc/rc.local を使用します。
次に、実行するプログラムのフルパスをファイルの最後の行に追加します。
たとえば、コンピューターの電源を入れるたびに haha​​.sh を実行する必要があり、このスクリプトが /opt の下に配置されている場合は、「/opt/./haha.sh」という行を「/etc/」に追加できます。 rc.local」、または 2 行の行「cd /opt」と「./haha.sh」。

2. Crontab (Windows のタスク スケジュール サービスに似ています)
crontab を使用すると、プログラムの実行スケジュールを設定できます。たとえば、プログラムを毎日 8 時に実行する、または毎日 10 時に実行するようにすることができます。月曜日。
crontab -l はスケジュールをリストします。
crontab -d はスケジュールを削除します。
"-l" は単なるビューです。 vi には違いはありません (実際には、特定のファイルを編集するために vi を使用するだけです)。「-d」はユーザーのすべてのタイムテーブルを削除するため、基本的には使用されません。不要なタイムテーブルを 1 行ずつ削除します。
では、どのように編集するのでしょうか?

crontab ファイルの形式は、M H D m d CMD です。
6 フィールドのフィールド。最後の CMD は、haha.sh など、実行されるプログラムです。
M: 分 (0-59)
H: 時間 (0-23)
D: 日付 (1-31)
m: 月 (1-12)
d: 曜日 (0-6、0 は表します)日曜日)

これらの 5 つの時間フィールドはスペースで区切られ、値はカンマで区切られた 1 つまたは複数の数値 (またはその他) です。設定が必要ない場合、デフォルトは "*" です。

例えば、毎日 8:05 に haha​​.sh を実行すると、「5 8 * * * /opt/./haha.sh」となります。

「ブートプログラムの自動起動」から話が逸れたようですが、本題に戻ります。実際、上で紹介した crontab 関数には、起動時に自動的に起動する機能がすでに備わっています。プログラムが no の場合は、監視スクリプトを作成して 5 分ごとに実行できます。利用可能になったら、再起動してください。 (*/5) は 5 分ごとを意味します

3. システム サービスを登録します
SSH、FTP などのオペレーティング システムに付属するサービスは、起動時に自動的に開始されます。自分のプログラムで「価値」を高める。

たとえば、インストールされているサービスをシステム サービスとして追加したい場合は、次のコマンドを実行できます:
chkconfig --add サービス名 (まず、システム サービスとして追加します。追加の前)

chkconfig -leve スタートアップ レベル サービス名 on
(説明、レベル 3 はコマンド ライン モードで開始することを意味し、レベル 5 はグラフィカル インターフェイスで開始することを意味し、on はオンにすることを意味します)

chkconfig -leve スタートアップ レベル サービス名 off
(説明、off は自動起動をオフにすることを意味します)
: 例: chkconfig -level 3 MySQL ON *************************** ************************ ************************* ********どのサービスがシステム サービスとして追加されているかを確認したい場合は、次のコマンドを使用できます:
ntsysv または chkconfig --list

どのプログラムが自己サービスとして追加されているかを確認したい場合まず、次のコマンドを使用できます:
cat /etc/rc.local (このファイルに追加されたプログラム パスを確認します)
********** *********** **************************************** ********** **********************

以下は、シェル スクリプトをシステム サービスとして追加し、システムの起動を追跡する方法の例です。 「/etc/rc.d/init.d」の下には多数のファイルがあり、それぞれのファイルの内容は実際にはいくつかのシェルスクリプトです。
システムサービスの起動は、「/etc/rc.d/init.d」内のスクリプトファイルを通じて行われます。独自のスクリプトを作成してここに配置することもできます。
スクリプト ファイルの内容も非常にシンプルで、これに似ています (たとえば、「hahad」という名前を付けます):
. /etc/init.d/functions
start() { echo "プロセスを開始しています"
cd /opt
./haha.sh}
stop() { ‐ echo "開始の 's ' -to--- . ファイルの後、まだ終わっていません: chmod +x haha​​d )
chkconfig --list haha​​d #この時点で、hahad サービスが登録されていることがわかります。すべての作業が完了しました。

関連する推奨事項:


Linux に Redis データベースをインストールし、自動起動スクリプトを共有する方法

nginx は起動後にサービスを自動的に開始します

Linux は自動的に MySQL を開始します

以上がLinuxシステムの起動時にプログラムを自動的に起動する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート