Ubuntu系統程序管理筆記

2022-05-06 05:42:08 字數 1862 閱讀 3489

今天對前端伺服器進行遷移,本來前端伺服器就一台,都是放置前端靜態檔案的地方,應該是比較簡單的。唯一的問題是由於nginx需要給ie8瀏覽器個i同https訪問支援,不得不對nginx進行重新編譯。編譯完成後想啟動一下服務,才發現沒有systemctl,於是使用service命令,奇怪的是service命令無法居然無法識別nginx服務。經過一番折騰終於解決了問題。

以前這些命令一直是拿來就用,沒什麼深究,只有遇到了問題才知道基礎的重要性。下面就對這些東西做個簡單的記錄。

linux程序管理常用的工具有service、systemctl、update-rc.d等。其中越來越多的發行版使用systemctl作為程式的的管理工具。問題就在於今天我所使用的ubuntu版本是14.04,也就是還沒有把systemctl作為預設的軟體啟動管理工具。systemctl是15.0x之後的版本才作為自帶的程序管理工具的。

簡單的說,他們是系統初始化時的第乙個程序,也就是pid為1的程序,可以通過ps -p 1 命令來檢測。

$ ps -p 1
如顯示的資料類似於:

pid tty          time cmd

1 ? 00:00:02 systemd

若顯示systemd則為systemd,顯示init則為upstart。

在第乙個程序啟動之後,這個程序負責啟動其它設定了開機自啟動的程序。這就帶出了乙個概念,這些開機自啟或者不自啟的資訊存放在**?

在ubuntu系統中,通過sysv管理的程序啟動資訊放在/etc/init.d/資料夾中,裡面的檔案實際上是一些shell指令碼,執行這些指令碼就能啟動或停止這些程序。而它對應的管理工具就是update-rc.d命令。

例如要啟動nginx服務,可以通過sudo update-rc.d nginx enable實現。

通過upstart管理的程序啟動資訊放在/etc/init資料夾中,其中都是.conf字尾的配置檔案,與其對應的命令列管理工具是initctl。我們可以通過在/etc/init中編寫相應的配置檔案達到啟動服務的目的。

通過systemd管理的程序啟動資訊放在/etc/systemd/system/lib/systemd/system/var/lib/systemd幾個資料夾中,例如通過命令locate nginx.service就會得到以下的位置資訊:

/etc/systemd/system/multi-user.target.wants/nginx.service

/lib/systemd/system/nginx.service

/var/lib/systemd/deb-systemd-helper-enabled/nginx.service.dsh-also

/var/lib/systemd/deb-systemd-helper-enabled/multi-user.target.wants/nginx.service

另乙個有用的命令是service,它相容了update-rc.dinitctl命令的功能,兩種啟動方式都能使用。常用命令例如service nginx status

每台linux伺服器只能有乙個系統初始化軟體,從歷史上說先有sysv,到upstart,再到systemd。比較新版的linux發行版很多都以systemd作為初始化管理軟體。

systemd是在ubuntu15.04才開始作為預設初始化程式的。

參考:

ubuntu程序管理

ubuntu結束程序方法 1 開啟終端 2 敲 ps ef 查出程序的編號 就是pid那列 3 敲 kill pid 如果pid是123456,則kill 123456 4 ok了 顯然這也不是最好的辦法,因為ps ef出來的是一大串的資訊,很難找到我們的資訊,這時可以使用gerp來進行匹配。所以命...

ubuntu中的程序管理

1,檢視占用某個埠的程序 lsof i 22 檢視占用埠號為22的埠的進行執行結果 command pid user fd type device size off node name sshd 1121 root 3u ipv4 16060 0t0 tcp ssh listen sshd 6069...

LKD Linux系統程序管理

本章介紹linux系統程序概念以及執行緒,討論在linux核心中是如何對程序進行管理的以及程序結束流程。關於程序的概念在作業系統概念 作業系統中的程序 執行緒中已經描述過,這裡不在贅述,在應用層一般理解是乙個應用例項是乙個程序,乙個程序又可以包含多個執行緒,但是在傳統的unix系統中每個程序都是由乙...