關于linux開機自啟動

1、系統啟動流程

在這里插入圖片描述

2、 init、 inittab、 init.d、 rcx.d

在這里插入圖片描述

/etc/inittab是Linux系統中的一個配置文件,用于定義系統的運行級別和相應的操作。其語法格式如下:

標簽:運行級別:操作:進程
label:runlevel:action:process

下面是對每個部分的解釋:

  • 標簽(label):用來標識配置項的唯一標識符,表示輸入的值。
  • 運行級別(runlevel):定義了系統的不同工作模式或狀態,共有7個運行級別(0到6)。
  • 操作(action):指定了在特定運行級別下要執行的操作。
  • 進程(process):表示要執行的進程。

以下是對runlevel運行級別的解釋:

  • runlevel 0:系統停機狀態,不能設為默認運行級別,否則系統無法正常啟動。
  • runlevel 1:單用戶工作模式,只有root權限,用于系統維護,禁止遠程登錄。
  • runlevel 2:多用戶工作模式(不支持NFS),命令行模式登錄。
  • runlevel 3:完全的多用戶工作模式(包括NFS),命令行模式登錄。
  • runlevel 4:保留,未使用的模式。
  • runlevel 5:X11圖形模式,登錄后進入圖形GUI模式。
  • runlevel 6:系統正常關閉并重啟,不能設為默認運行級別,否則系統無法正常啟動。

每個配置項的操作(action)可以是以下之一:

  • boot:只在系統啟動時運行。
  • bootwait:在系統啟動時運行,系統啟動后,當第一次從單用戶模式進入多用戶模式時處理該記錄項。
  • sysinit:在運行boot或bootwait進程之前運行,指定的進程在訪問控制臺之前執行。
  • respawn:不管何時終止都重新啟動進程,每當相應的進程終止執行,它會被重新啟動。
  • shutdown:在關機時要運行的進程。
  • ctrlaltdel:當按下Ctrl+Alt+Del三個鍵同時按下時運行。
  • wait:告訴init必須等到相應的進程完成之后才能繼續執行。

最后,進程(process)部分表示要執行的具體進程。

在這里插入圖片描述

[root@cambricon ~]# cat /etc/inittab # Startup the system
::sysinit:/bin/mount -t devtmpfs devtmpfs /dev
::sysinit:/bin/mount -t proc proc /proc
::sysinit:/bin/mount -o remount,rw /
::sysinit:/bin/mkdir -p /dev/pts
::sysinit:/bin/mkdir -p /dev/shm
::sysinit:/bin/mount -a
::sysinit:/bin/hostname -F /etc/hostname
# now run any rc scripts
#::sysinit:/etc/init.d/rcS
::wait:/etc/rc.sysinit
::wait:/etc/init.d/rcS
::shutdown:/etc/init.d/rcK
console::respawn:-/bin/sh

這段代碼是/etc/inittab文件的示例內容,用于初始化和配置系統啟動過程中的各個步驟。下面是對每一行的解釋:

  1. ::sysinit:/bin/mount -t devtmpfs devtmpfs /dev:在系統初始化階段,掛載devtmpfs文件系統到/dev目錄,提供設備節點。
  2. ::sysinit:/bin/mount -t proc proc /proc:同樣在系統初始化階段,掛載proc文件系統到/proc目錄,提供進程信息。
  3. ::sysinit:/bin/mount -o remount,rw /:在系統初始化階段,重新以讀寫模式掛載根文件系統。
  4. ::sysinit:/bin/mkdir -p /dev/pts:在系統初始化階段,創建/dev/pts目錄,用于偽終端支持。
  5. ::sysinit:/bin/mkdir -p /dev/shm:在系統初始化階段,創建/dev/shm目錄,用于共享內存支持。
  6. ::sysinit:/bin/mount -a:在系統初始化階段,自動掛載其他文件系統。
  7. ::sysinit:/bin/hostname -F /etc/hostname:在系統初始化階段,根據/etc/hostname文件設置主機名。
  8. # now run any rc scripts:注釋,表示接下來要運行任何rc腳本。
  9. #::sysinit:/etc/init.d/rcS:注釋掉的行,表示在系統初始化階段運行rcS腳本。
  10. ::wait:/etc/rc.sysinit:等待,然后運行/etc/rc.sysinit腳本。
  11. ::wait:/etc/init.d/rcS:等待,然后運行/etc/init.d/rcS腳本。
  12. ::shutdown:/etc/init.d/rcK:在系統關閉時運行/etc/init.d/rcK腳本。
  13. console::respawn:-/bin/sh:創建一個控制臺會話,如果終止則重新啟動,并使用/bin/sh作為默認shell。

這些配置項定義了系統啟動過程中的各個步驟和要執行的命令或腳本。它們確保系統在啟動和關閉時按照特定的順序進行必要的初始化和清理操作

以S開頭的為start,以K開頭的為kill
S+數字+字母
數字小的先執行,字母小的先運行
在這里插入圖片描述

啟動流程的操作
在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/210169.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/210169.shtml
英文地址,請注明出處:http://en.pswp.cn/news/210169.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

每天一點python——day90

#每天一點Python——90 #類的創建 創建類的語法: class 類名:pass【縮進之后寫類里面的內容】 [類里面寫什么沒有想好之前,可以用pass進行占位.可以不報錯]#演示: class Lei:pass #以上就上一個類被創建的樣例注意事項&#xff1a…

PHP基礎 - 注釋變量

一. 語言開始標識 在PHP中,文件的開頭需要使用語言開始標識來指定該文件是PHP代碼。標識通常為"<?php",也可以是"<?",但建議使用"<?php"以確保代碼的兼容性和可讀性。 <?php // PHP代碼從這里開始寫 二. PHP注釋 注釋是用…

[英語學習][11][Word Power Made Easy]的精讀與翻譯優化

[序言] 這次翻譯, 譯者有點點水平. 有些比較難表達的, 都能正確地翻譯出來. 但有點很奇怪, 難的地方譯者翻譯正確, 容易的地方又錯了. [英文學習的目標] 提升自身的英語水平, 對日后編程技能的提升有很大幫助. 希望大家這次能學到東西, 同時加入我的社區討論與交流英語相關的…

遇到這個問題怎么辦

1. 問題現象 話說近日博主的團隊中&#xff0c;有一個小盆友遇到了一個問題&#xff0c;即使用RSA進行加解密的時候&#xff0c;拋異常了&#xff1a; java.security.spec.InvalidKeySpecException: java.security.InvalidKeyException: IOException: DerInputStream.getLeng…

高防CDN:在保障服務器與網站成本的角度的智慧選擇

隨著網絡攻擊的不斷升級和演變&#xff0c;保障服務器與網站安全成為了企業不可忽視的重要問題。高防CDN&#xff08;內容分發網絡&#xff09;技術應運而生&#xff0c;為服務器與網站的穩定運行提供了全面而有效的保護。本文將從服務器與網站成本的角度深入分析高防CDN在降低…

【Python】Faker庫詳解:創建測試數據輕而易舉

Python Faker庫詳解&#xff1a;創建測試數據輕而易舉 在軟件開發和測試過程中&#xff0c;通常需要大量的測試數據來模擬真實環境。Python的Faker庫為開發者提供了一個方便、靈活且強大的工具&#xff0c;用于生成各種虛構數據。本文將深入介紹Faker庫&#xff0c;演示其基本…

十一、了解分布式計算

1、什么是&#xff08;數據&#xff09;計算&#xff1f; 2、分布式(數據)計算 &#xff08;1&#xff09;概念 顧名思義&#xff0c;分布式計算&#xff0c;即以分布式的形式完成數據的統計&#xff0c;得到需要的結果。 分布式數據計算&#xff0c;顧名思義&#xff0c;就是…

c語言選擇排序總結(詳解)

選擇排序cpp文件項目結構截圖 項目cpp文件截圖 項目具體代碼截圖 #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> #include <math.h> #include <iostream> #include <string.h> #include <time.h> #include &…

Java發展史

Java發展史 Java歷史的幾個重要節點&#xff1a; 1990&#xff0c;Sun公司啟動了一個名為“綠色計劃”的項目&#xff0c;由James Gosling等領導&#xff0c;目標是開發一種可以在機頂盒等消費性電子產品上運行的程序架構。這個計劃產生了Java的前身&#xff1a;Oak&#xff…

Java八股文面試全套真題【含答案】-XML篇

XML 是什么&#xff1f;它的全稱是什么&#xff1f; 答案&#xff1a;XML&#xff08;可擴展標記語言&#xff09;是一種用于描述數據的標記語言&#xff0c;用于存儲和交換結構化的信息。XML 的全稱是 eXtensible Markup Language。XML 和 HTML 有什么區別&#xff1f; 答案&a…

看圖學源碼 之 ConcurrentHashMap put、get、remove、clear、擴容等相關方法的源碼分析

ConcurrentHashMap 引入 HashMap 的弊端 多線程下是不安全的&#xff0c;是有死循環的 JDK1.7 的時候會使用頭插法將新的節點增加到頭部&#xff0c;那么就會造成鏈表翻轉成為了閉環&#xff0c;就是所謂的死循環。 JDK1.8之后使用的是尾插法&#xff0c;因此不會造成環形鏈…

京東數據運營:京東API接口有哪些?京東數據如何采集調用?

市場分析對于電商品牌來說非常重要&#xff0c;它可以幫助電商品牌更好地理解市場&#xff0c;把握市場機會&#xff0c;以及制定有效的產品定價、產品營銷策略等等。 結合市場中可以幫助品牌方做市場分析的電商數據分析工具——鯨參謀電商數據分析平臺&#xff0c;我們一起具體…

在Mac上安裝Windows應用程序的簡便方法:CrossOver for Mac

對于許多Mac用戶來說&#xff0c;有時候他們可能需要使用一些只有在Windows上才能找到的應用程序。以前&#xff0c;解決這個問題的方法是通過安裝Windows虛擬機或使用雙系統來在Mac上運行Windows應用程序。但這些方法需要額外的硬件資源和時間來配置&#xff0c;并且可能會導致…

IOT安全學習路標

1. 物聯網基礎知識 首先&#xff0c;你需要建立堅實的物聯網基礎知識&#xff0c;包括IoT的架構和組件&#xff0c;傳感器和設備的連接和通信技術&#xff0c;云端和邊緣計算等。 2. 通信和網絡安全 學習關于物聯網通信和網絡安全的基礎知識&#xff0c;包括加密和認證技術、…

通俗解釋一下“強靜態類型”

我寫軟件已經有 20 多年了&#xff0c;隨著時間的推移&#xff0c;我越來越確信強靜態類型不僅是一個好主意&#xff0c;而且幾乎總是正確的選擇。 非類型化語言(或語言變體)肯定有用途&#xff0c;例如&#xff0c;當使用 REPL 時&#xff0c;或者在已經無可救藥的無類型環境(…

有什么進銷存軟件能對接微信小程序?

有什么進銷存軟件能對接微信小程序&#xff1f; 據我所知&#xff0c;很多進銷存軟件都有配套的微信小程序吧。 以我們現在用的這個為例&#xff0c;這也是同行推薦過來的&#xff0c;很好用&#xff0c;而且性價比很高—— 在線平臺&#xff0c;無需下載APP&#xff0c;搭載…

C語言實戰演練之跳動的愛心C語言版

跳 動 的 愛 心 - LOVE - 完整程序 #include <stdio.h> #include <math.h> #include <windows.h> #include <tchar.h> float f(float x, float y, float z) {float a x * x 9.0f / 4.0f * y * y z * z - 1;return a * a * a - x * x * z * z …

ELK簡單介紹一

任務背景 運維人員需要對系統和業務日志進行精準把控&#xff0c;便于分析系統和業務狀態。日志分布在不同的服務器上&#xff0c;傳統的使用傳統的方法依次登錄每臺服務器查看日志&#xff0c;既繁瑣又效率低下。所以我們需要集中化的日志管理工具將位于不同服務器上的日志收…

藍橋杯日期問題

藍橋杯其他真題點這里&#x1f448; 注意日期合法的判斷 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader;public class Main{static int[] days {0,31,28,31,30,31,30,31,31,30,31,30,31};static BufferedReader in new Buf…

【核心重點】Flink四大基石

1. Time&#xff08;時間機制&#xff09; 時間概念 處理時間&#xff1a;執行具體操作時的機器時間&#xff08;例如 Java的 System.currentTimeMillis()) &#xff09;事件時間&#xff1a;數據本身攜帶的時間&#xff0c;事件產生時的時間。攝入時間&#xff1a;數據進入 …