1. 程式人生 > >Linux中如何設定服務自啟動?

Linux中如何設定服務自啟動?

有時候我們需要Linux系統在開機的時候自動載入某些指令碼或系統服務,主要用三種方式進行這一操作:

  1. ln -s             在/etc/rc.d/rc*.d目錄中建立/etc/init.d/服務的軟連結(*代表0~6七個執行級別之一) 
  2. chkonfig          命令列執行級別設定 
  3. ntsysv            偽圖形執行級別設定 

注意:

  1. 這三種方式主要用於以redhat為基礎的發行版
  2. 如果還不知道執行級別是什麼,那麼最好先看看相關資料再實驗

第一種方式:ln -s 建立啟動軟連線

在Linux中有7種執行級別(可在/etc/inittab檔案設定),每種執行級別分別對應著/etc/rc.d/rc[0~6].d這7個目錄:

Tips:/etc/rc[0~6].d其實是/etc/rc.d/rc[0~6].d的軟連線,主要是為了保持和Unix的相容性才做此策。

這7個目錄中,每個目錄分別存放著對應執行級別載入時需要關閉或啟動的服務,由詳細資訊可以知道,其實每個指令碼檔案都對應著/etc/init.d/目錄下具體的服務。

K開頭的指令碼檔案代表執行級別載入時需要關閉的,S開頭的代表需要執行:

因此,當我們需要開機啟動自己的指令碼時,只需要將可執行指令碼丟在/etc/init.d目錄下,然後在/etc/rc.d/rc*.d中建立軟連結即可:

[[email protected] ~]# ln -s /etc/init.d/sshd /etc/rc.d/rc3.d/S100ssh

此處sshd是具體服務的指令碼檔案,S100ssh是其軟連結,S開頭代表載入時自啟動。

如果需要在多個執行級別下設定自啟動,則需建立多個軟連結,這種方式比較繁瑣,適用於自定義的服務指令碼。

如果系統中已經存在某些服務(比如安裝apache時就會有httpd服務項),可以使用下面的兩種方式:

第二種方式:chkconfig

如果需要自啟動某些服務,只需使用chkconfig 服務名 on即可,若想關閉,將on改為off。

在預設情況下,chkconfig會自啟動2345這四個級別,如果想自定義可以加上--level選項:

上面我們先將sshd服務的所有啟動級別關閉,然後使用--level選項啟動自定義級別;

Tips:--list選項可檢視指定服務的啟動狀態,chkconfig不帶任何選項則檢視所有服務狀態。

第三種方式:ntsysv 偽圖形

ntsysv和chkconfig其實是一樣的,只不過加上了圖形而已;

啟動ntsysv有兩種方式,一是直接在命令列中輸入ntsysv,二是使用setup命令,然後選擇系統服務:

預設情況下,當前執行級別為多少,在ntsysv中設定的啟動服務的級別便是多少,比如,我當前的執行級別是3,那麼我在偽圖形介面中選擇啟動服務後,它的執行級別也會是3。

如果想自定義執行級別可使用ntsysv --level方式:

以上三種操作需要保證服務指令碼檔案可執行,並且要有root許可權,其中,第一種方式多用於自定義指令碼,第二、三種多用於系統已存在的服務,比如ftp、samba、ssh、httpd等等,並且,要做相關設定需要弄清楚執行級別的問題。

Tips:如果想手動啟動某服務,傳統的方式是 /etc/init.d 服務名 start。

實際上還可以這樣,service 服務名 start:


相關推薦

Linux設定服務啟動的三種方式

有時候我們需要Linux系統在開機的時候自動載入某些指令碼或系統服務 主要用三種方式進行這一操作: ln -s                       在/etc/rc.d/rc*.d目錄中建立/etc/init.d/服務的軟連結(*代表0~6七個執行級別之一) chkonfig          

Linux如何設定服務啟動

有時候我們需要Linux系統在開機的時候自動載入某些指令碼或系統服務,主要用三種方式進行這一操作: ln -s             在/etc/rc.d/rc*.d目錄中建立/etc/init.d/服務的軟連結(*代表0~6七個執行級別之一) chkonfig    

Win10 wsl linux子系統ssh服務啟動設定

折騰了一晚上Win10 wsl linux子系統ssh服務自啟動設定,包括github和stackoverflow的很多帖子都已經過時,嘗試了數個vbs+bat指令碼,甚至powershell指令碼等等,都不能成功,最後還是知乎的一個帖子解決了,但是原帖也還是有些小問題。傳送門:WSL

Linux做開機啟動服務

導語 在Linux中做開機自啟動的方式有很多,本文將介紹一種方式。 思想 Linux服務啟動後 ,最後執行rc.local 檔案。所以將啟動指令碼的命令放在 rc.local的最後 。 步驟 1. 新建sh指令碼,內容為下文藍色部分,完成後將本指令碼放到任意 或 指定路徑

Linuxnginx服務啟動腳本

nginx啟動腳本 linux shell腳本 Linux中nginx服務器啟動腳本,將此腳本放入/etc/init.d/目錄下,進行啟動和關閉,並用chkconfig命令將nginx加入到chkconfig管理中,設置開機自啟動。 詳細腳本如下:#!/bin/bash #aut

linuxtomcat服務啟動問題

今日2018年10月16日,在專案過程中遇到了tomcat奔潰(崩潰?)的問題。最後經過亦師亦友的同行講解,我明白了原因。故來此與各位大佬交流分享一下。總結的話語有什麼問題,還望各位大佬批評指正,感激不盡。  先下結論吧(後面再去分析結果):在web專案中,容器若是tomcat,禁

Linux Nginx 設定開機 啟動 程式碼 指令碼 命令

一、新建文字檔案 vi /etc/init.d/nginx 二、新增 #!/bin/bash # nginx Startup script for the Nginx HTTP Server # it is v.1.12.0 version. # chkconfig: - 8

設定服務啟動的三種方式

有時候我們需要Linux系統在開機的時候自動載入某些指令碼或系統服務 主要用三種方式進行這一操作: ln -s                       在/etc/rc.d/rc*.d目錄中建立/etc/init.d/服務的軟連結(*代表0~6七個執行級別之一)

tomcat 設定服務啟動

1、開啟tomcat安裝目錄下的bin目錄找到service.bat 2、開始->執行->cmd,切換到tomcat

(轉)Linux設置服務啟動的三種方式

情況下 level httpd sysv kconfig clas mage com ssh 有時候我們需要Linux系統在開機的時候自動加載某些腳本或系統服務 主要用三種方式進行這一操作: ln -s 在/etc/rc.d/rc

Linux啟動級別&Samba服務啟動設定

1、LINUX系統啟動級別檢視/etc/inittab檔案,其主要內容如下: # 0- halt (Do NOT set initdefault to this) # 1- Single user mode # 2- Multiuser, without NFS (The 

linux 重要的開機啟動服務

自啟 信息 lin cpu使用率 網絡 sshd work 使用率 sysstat 1.sshd 遠程連接 2.rsyslog/syslog 日誌相關軟件,這是操作系統提供的一種機制,系統的守護程序通常會使用rsyslog程序將各種信息寫道各個系統的日誌文件中 3.

Linux學習 哪些開機啟動服務是必備的?

Linux運維 Linux學習 Linux入門 Linux基礎 和Windows系統一樣,Linux服務器運行過程中也會一些沒用的軟件服務默認運行,這些占用了很多系統資源,也會有安全隱患,所以一般是建議關閉的。那麽,工作中Linux主機到底需要有哪些開機自啟動服務呢?  新裝Linux系統之後

NO19 優化Linux系統--重要開機啟動服務--關閉啟動

color 內核版本 數據 項目 iss rsyslog chattr -- 單個 **如何優化Linux系統: 1 不用root,添加普通用戶,通過sudo授權管理。2 更改默認的遠程連接SSH服務端口及禁止root用戶遠程連接。3 定時自動更新服務器時間

express框架使用nodemon啟動服務

1、安裝nodemon //全域性安裝 npm install -g nodemon //本地安裝 npm install nodemon --save   2、修改package.json配置 "scripts": { "test": "echo \"Error

linux安裝db2資料庫並設定開機啟動

最近因工作需要在Linux機器中安裝DB2資料庫,故將安裝過程記錄下。 Linux版本: Linux版本下的DB2資料庫採用的官方免費版本,作業系統用的CentOS7。 安裝過程: 1、下載:db2_v101_linuxia32_expc.tar.gz 2、解壓,解壓完成後會在當

Linux下mongodb已設定server啟動,如何啟動資料庫客戶端

在設定自啟動情況下: I CONTROL [main] Automatically disabling TLS 1.0, to force-enable TLS 1.0 specify --sslDisabledProt 報錯,說是自啟動佔用埠

Linux: 設定開機啟動

一.、在/etc/rc.local檔案中新增自啟動命令 執行命令: 編輯"/etc/rc.local",新增你想開機執行的命令 執行程式指令碼:然後在檔案最後一行新增要執行程式的全路徑。 例如,每次開機時要執行一個hello.sh,這個指令碼放在/usr下面,那就可以在"/etc/r

linux安裝篇之mongodb安裝及服務啟動配置

安裝步驟: 2.放置到/opt目錄下 3.解壓:tar -zxvf mongodb-linux-x86_64-4.0.1.tgz 4.將解壓後的檔案移動到/usr/local/目錄下:mv mongodb-linux-x86_64-4.0.1 /us

Linux的rc local啟動服務

arp ebsp 程序 var rac 現在 chm get proc linux有自己一套完整的啟動體系,抓住了linux啟動的脈絡,linux的啟動過程將不再神秘。 本文中假設inittab中設置的init tree為: /etc/rc.d/rc0.d/etc