如何設置Linux開機自啟動程序

一、使用init.d進行設置

init.d是一個早期的啟動腳本系統,是Linux操作系統所有版本中最常見的啟動系統。init.d位於/usr/sbin/下面,並且以開頭的字符是S或K,S開頭的腳本表示服務啟動時要執行的腳本,而K開頭的腳本表示關閉服務時要執行的腳本。

下面是設置開機啟動服務並將其加入到init.d的步驟:

1. 編寫啟動腳本,以nginx為例:
    #!/bin/bash
    nginx
    exit 0

2. 將腳本拷貝到/etc/init.d/目錄下並修改權限:
    cp /root/nginx /etc/init.d/
    chmod +x /etc/init.d/nginx

3. 將腳本加入到開機啟動項中:
    chkconfig nginx on

4. 啟動nginx服務:
    service nginx start

注意:使用service命令只是為了測試是否設置成功,實際上開機時服務會自動啟動。

二、使用systemd進行設置

systemd是一個更加現代化的啟動系統,已經成為了所有最新操作系統版本中的默認啟動系統。最大的優點是啟動速度快以及支持並行啟動多個服務。

下面是使用systemd設置自啟動的步驟:

1. 編寫啟動腳本,以roscore為例:
    #!/bin/bash
    source /opt/ros/melodic/setup.bash
    roscore
    exit 0

2. 創建該腳本的systemd服務文件:
    vim /lib/systemd/system/roscore.service

3. 將以下內容粘貼到文件中:
    [Unit]
    Description=ROS kinetic Core Service
    After=network.target
    [Service]
    ExecStart=/root/roscore.sh
    Restart=always
    User=root
    [Install]
    WantedBy=multi-user.target

4. 重載systemd的配置文件並重新載入roscore服務:
    systemctl daemon-reload
    systemctl enable roscore.service

5. 啟動roscore服務:
    systemctl start roscore.service

注意:步驟3中的[Unit]和[Service]兩個區域都是必要的,[Unit]中的After=network.target表示服務需要在網絡就緒之後才啟動,[Service]中的ExecStart表示需要執行的命令或腳本。

三、自定義腳本

除了使用系統提供的init.d和systemd啟動系統之外,你也可以自定義腳本來啟動自己的服務。

下面是一個自定義腳本並設置其開機啟動的步驟:

1. 編寫一個需要自啟動的腳本,以foo-bar為例:
    #!/bin/bash
    cd /root/foo/bar/
    node app.js
    exit 0

2. 編寫一個啟動腳本,起名叫startup.sh:
    #!/bin/bash
    sh /root/foo/bar/foo-bar.sh
    exit 0

3. 將腳本加入到開機啟動項中:
    crontab -u root -e

    在打開的文件末尾添加:@reboot /root/startup.sh

4. 啟動腳本:
    sh /root/startup.sh

注意:在第三步中,我們使用了crontab的特性來完成開機啟動自定義腳本。@reboot表示在系統啟動後執行該指令。

四、小結

無論是使用init.d、systemd還是自定義腳本,都可以在Linux系統中設置開機自啟動程序。通過本文詳細的步驟說明,你可以很容易地根據你的實際需求進行開機自啟動設置。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/241140.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-12 12:25
下一篇 2024-12-12 12:25

相關推薦

  • Python程序需要編譯才能執行

    Python 被廣泛應用於數據分析、人工智能、科學計算等領域,它的靈活性和簡單易學的性質使得越來越多的人喜歡使用 Python 進行編程。然而,在 Python 中程序執行的方式不…

    編程 2025-04-29
  • python強行終止程序快捷鍵

    本文將從多個方面對python強行終止程序快捷鍵進行詳細闡述,並提供相應代碼示例。 一、Ctrl+C快捷鍵 Ctrl+C快捷鍵是在終端中經常用來強行終止運行的程序。當你在終端中運行…

    編程 2025-04-29
  • Python程序文件的拓展

    Python是一門功能豐富、易於學習、可讀性高的編程語言。Python程序文件通常以.py為文件拓展名,被廣泛應用於各種領域,包括Web開發、機器學習、科學計算等。為了更好地發揮P…

    編程 2025-04-29
  • 如何設置Python環境變量

    Python是一種流行的腳本編程語言,它可以在不同的操作系統和平台上運行。但是,在使用Python時,我們需要設置Python環境變量,以便系統能夠正確地找到Python解釋器和相…

    編程 2025-04-29
  • Python購物車程序

    Python購物車程序是一款基於Python編程語言開發的程序,可以實現購物車的相關功能,包括商品的添加、購買、刪除、統計等。 一、添加商品 添加商品是購物車程序的基礎功能之一,用…

    編程 2025-04-29
  • 爬蟲是一種程序

    爬蟲是一種程序,用於自動獲取互聯網上的信息。本文將從如下多個方面對爬蟲的意義、運行方式、應用場景和技術要點等進行詳細的闡述。 一、爬蟲的意義 1、獲取信息:爬蟲可以自動獲取互聯網上…

    編程 2025-04-29
  • 如何設置chrome不同步手機歷史記錄

    使用chrome瀏覽器時,在登錄chrome賬號的情況下,由於默認同步功能,瀏覽器歷史記錄等數據都會同步到其他設備上,但是有時候我們並不想這麼做,比如為了保護隱私、避免干擾等等。所…

    編程 2025-04-29
  • Vb運行程序的三種方法

    VB是一種非常實用的編程工具,它可以被用於開發各種不同的應用程序,從簡單的計算器到更複雜的商業軟件。在VB中,有許多不同的方法可以運行程序,包括編譯器、發布程序以及命令行。在本文中…

    編程 2025-04-29
  • Python一元二次方程求解程序

    本文將詳細闡述Python一元二次方程求解程序的相關知識,為讀者提供全面的程序設計思路和操作方法。 一、方程求解 首先,我們需要了解一元二次方程的求解方法。一元二次方程可以寫作: …

    編程 2025-04-29
  • 如何使用GPU加速運行Python程序——以CSDN為中心

    GPU的強大性能是眾所周知的。而隨着深度學習和機器學習的發展,越來越多的Python開發者將GPU應用於深度學習模型的訓練過程中,提高了模型訓練效率。在本文中,我們將介紹如何使用G…

    編程 2025-04-29

發表回復

登錄後才能評論