init演化歷程 – [轉貼] 淺析 Linux 初始化 init 系統,第 3 部分: Systemd

在 Debain 8.0 Jessie 將傳統的 sysvinit 改為 systemd 之後,最近開始留意 Linux 的 init 行程與其相衍伸的實作,覺得是個有趣且值得深入的東西。此外,Ubuntu 在未來的新版本也將以 systemd 取代目前的 upstart 作為 init 行程。本篇轉貼 IBM developwork 的技術文章,稍微探討 init process。

淺析 Linux 初始化 init 系統,第 3 部分: Systemd

繼續閱讀

init演化歷程 – [轉貼] 淺析 Linux 初始化 init 系統,第 2 部分: UpStart

在 Debain 8.0 Jessie 將傳統的 sysvinit 改為 systemd 之後,最近開始留意 Linux 的 init 行程與其相衍伸的實作,覺得是個有趣且值得深入的東西。此外,Ubuntu 在未來的新版本也將以 systemd 取代目前的 upstart 作為 init 行程。本篇轉貼 IBM developwork 的技術文章,稍微探討 init process。

淺析 Linux 初始化 init 系統,第 2 部分: UpStart

繼續閱讀

init演化歷程 – [轉貼] 淺析 Linux 初始化 init 系統,第 1 部分: sysvinit

在 Debain 8.0 Jessie 將傳統的 sysvinit 改為 systemd 之後,最近開始留意 Linux 的 init 行程與其相衍伸的實作,覺得是個有趣且值得深入的東西。此外,Ubuntu 在未來的新版本也將以 systemd 取代目前的 upstart 作為 init 行程。本篇轉貼 IBM developwork 的技術文章,稍微探討 init process。

淺析 Linux 初始化 init 系統,第 1 部分: sysvinit 繼續閱讀

使用 supervise (daemontool) 自動重啟行程

不同於 Ubuntu 使用 upstart 作為 initialization 程式,Debain 仍舊使用傳統的 System V 風格的 init (至少目前的 Debian 7.7 Wheezy 仍是如此)。於此環境之下,若我們希望當一個行程(process)被終止之後,可以自動地重新啟動,該如何辦到? 繼續閱讀

Bugzilla 安裝建置筆記

Bugzilla 是一個由 Mozilla 維護的 Open Source 的臭蟲追蹤系統(issue-tracking system)。Bugzilla 被廣泛運用在許多大型專案中,諸如 Linux Kernel、Redhad、Apache等 (順帶一提 Ubuntu 是用 Launchpad,作為臭蟲追蹤系統)。Bugzilla 在功能、資源與穩定度等在所有的同類型的系統上也是相對較為出色的。本篇旨在介紹筆者在 Debian 上安裝與建置 Bugzllia 4.4.2 過程中覺得要留心之處,並非完整的教學,請見諒。 繼續閱讀

使用 pidstat 取得指定行程的 CPU 使用率

當一支行程在運行時,我們要如何取得該行程的所佔的 CPU 使用率,或是讀寫 I/O 的速率等資訊?top 指令可以同時看到目前系統上正在運行的所有行程,但是無法針對單一行程做追蹤。pidstat 指令則可以幫我們完成以上任務。 繼續閱讀

使用libmodbus實作Modbus協定

Modbus 是一個簡單且實用的工業用的網路協定,因為標準開放且容易實作,非常廣泛的應用於許多工業設備如PLC, AMI, … 等。Modbus協定目前由 Modbus Organization 維護,可以到該網站下載相關 specifications。Modbus 在 OSI 分層架構中屬於應用層,多數建構於串列傳輸 Serial (RS-232/RS-485) 或乙太網 (TCP/IP) 之上。(關於 Modbus 也可以參考小弟的拙於 slideshare) 即便 Modbus 協定相當容易實作,但基於"不要重新製造輪子"的立場,使用 libmodbus 函式庫來幫助我們快速開發,降低錯誤率與減少偵錯時間是個明智的選擇。

繼續閱讀

創建 Daemon 程式

Daemon 的原意其實就是小精靈(或是小惡魔),一般人是看不見的。而 Daemon 程式是指常駐在 Linux(或 Unix/Unix-Like)作業系統背景中執行的行程,無法被使用者直接操作或控制。這些 Daemon 可能是個 Server 在等待與處理 Client 端的請求,也可能是系統的維護程式。 繼續閱讀