chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

技術(shù)分享| 什么是Systemd

啟揚(yáng)ARM嵌入式開發(fā) ? 2025-12-18 17:27 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

繼上次針對(duì)我司IAC-IMX8MP-Kit Yocto系統(tǒng)上Systemd的簡介,這篇文章主要分析一下關(guān)于Service的一些關(guān)鍵屬性,幫助大家更好的了解Systemd最重要的單元,更好的控制自己的服務(wù)。


c2baa976-dbf3-11f0-8ce9-92fbcf53809c.jpg

這里以一個(gè)客戶的具體需求為例:自啟動(dòng)Qt應(yīng)用,能夠盡快的啟動(dòng)。這里貼上完整的service屬性,依據(jù)對(duì)應(yīng)屬性詳細(xì)分析,如下圖所示:


c2cdb318-dbf3-11f0-8ce9-92fbcf53809c.png


總共分為三個(gè)單元,Unit、Service、Install。其中Unit單元的Description屬性是對(duì)服務(wù)的描述,主要顯示在服務(wù)啟動(dòng)時(shí)的表述,如下圖所示。


c2d49b06-dbf3-11f0-8ce9-92fbcf53809c.png?

After屬性主要是為了限制當(dāng)前服務(wù)地啟動(dòng)順序,這也是相比較傳統(tǒng)init.d啟動(dòng)的優(yōu)勢(shì)之一,需求是自啟動(dòng)Qt,那么需要在服務(wù)框架之后啟動(dòng),所以在weston.service之后。


Service單元是我們?nèi)蝿?wù)的執(zhí)行單元,默認(rèn)給予了很多屬性可以配置,這里我們主要看一下第一張圖中的幾個(gè)屬性,Environment屬性是給予任務(wù)執(zhí)行時(shí)附加的環(huán)境變量,這里為了讓Qt成功運(yùn)行,附加了XDG的運(yùn)行目錄和QT的運(yùn)行平臺(tái),而Type屬性是任務(wù)的啟動(dòng)方式,目前有oneshot、simple、forking三種,這里比較重要,單獨(dú)介紹。


Oneshot適用于一次性完成的配置、設(shè)置的屬性等,systemd會(huì)始終阻塞等待相應(yīng)動(dòng)作的完成,判斷服務(wù)啟動(dòng)成功。如果在這里用來啟動(dòng)一個(gè)常駐的應(yīng)用,那么啟動(dòng)的應(yīng)用將會(huì)一直阻塞在那里,systemd會(huì)認(rèn)為該服務(wù)一直在啟動(dòng)中,在等待一定時(shí)間后(往往是90s)會(huì)結(jié)束掉這個(gè)服務(wù),服務(wù)啟動(dòng)失敗。


Simple是最常用的配置,會(huì)正常啟動(dòng)進(jìn)程,并且啟動(dòng)的應(yīng)用會(huì)被自動(dòng)放入后臺(tái)常駐,非常適用于啟動(dòng)某些后臺(tái)檢測(cè)腳本以及應(yīng)用程序等,但這里也要注意的是,當(dāng)它啟動(dòng)的是一個(gè)腳本時(shí),systemd的監(jiān)控是針對(duì)腳本進(jìn)程的,而對(duì)于其中的應(yīng)用程序等則可能忽略掉相關(guān)信息,這里推薦是使用exec命令啟動(dòng)程序。


Forking屬于老舊的配置,目前只有極少數(shù)服務(wù)采用這種配置。Forking適用于多進(jìn)程的程序,當(dāng)啟動(dòng)的父進(jìn)程退出,子進(jìn)程完全啟動(dòng)的時(shí)候,systemd認(rèn)為服務(wù)啟動(dòng)成功。所以它并不適合用作在腳本里啟動(dòng)一個(gè)常駐進(jìn)程。當(dāng)它啟動(dòng)一個(gè)腳本,那么腳本將作為主進(jìn)程,腳本里啟動(dòng)的常駐應(yīng)用將作為子進(jìn)程啟動(dòng),而該子進(jìn)程因?yàn)槭浅qv應(yīng)用,將會(huì)阻塞父進(jìn)程退出,導(dǎo)致systemd認(rèn)為該服務(wù)一直在啟動(dòng)中,超過一定時(shí)間(往往是90s)后,會(huì)自動(dòng)結(jié)束該服務(wù),導(dǎo)致應(yīng)用啟動(dòng)失敗。


接下來是ExecStart屬性,該屬性主要用于執(zhí)行動(dòng)作,用于執(zhí)行后面的應(yīng)用程序,腳本等,需要注意的是,應(yīng)用程序需要絕對(duì)路徑啟動(dòng),而腳本是新的腳本解釋器去運(yùn)行,注意環(huán)境變量,以及相關(guān)腳本變量。


最后是Install單元,該單元主要是跟開機(jī)自啟動(dòng)有關(guān)系,其中WantedBy屬性簡單來說便是依賴,當(dāng)用戶執(zhí)行systemctl enable xxx.service的時(shí)候,systemd會(huì)自動(dòng)創(chuàng)建軟鏈接到WantedBy的指定目標(biāo)單元下,意味著該服務(wù)會(huì)隨著目標(biāo)單元激活而自動(dòng)啟動(dòng)。像第一張圖中的multi-user.target,意味著當(dāng)系統(tǒng)進(jìn)入多用戶模式時(shí),該服務(wù)會(huì)自動(dòng)啟動(dòng)。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5189

    文章

    20192

    瀏覽量

    329571
  • imx8
    +關(guān)注

    關(guān)注

    3

    文章

    42

    瀏覽量

    50723
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    Linux使用Systemd管理進(jìn)程服務(wù)

    systemd是目前Linux系統(tǒng)上主要的系統(tǒng)守護(hù)進(jìn)程管理工具,由于init一方面對(duì)于進(jìn)程的管理是串行化的,容易出現(xiàn)阻塞情況,另一方面init也僅僅是執(zhí)行啟動(dòng)腳本,并不能對(duì)服務(wù)本身進(jìn)行更多的管理
    發(fā)表于 11-28 09:07 ?772次閱讀

    Linux使用Systemd管理進(jìn)程服務(wù)

    今天浩道跟大家分享linux運(yùn)維中大家很少用到的一個(gè)硬核干貨,使用 Systemd 管理進(jìn)程服務(wù)。讓你體驗(yàn)一下該技巧帶來的便捷性!
    發(fā)表于 12-12 09:02 ?840次閱讀

    如何在 Linux 上從 NetworkManager 切換為 systemd

    今天,大部分主流 Linux 發(fā)行版都已經(jīng)采用了 systemd 作為默認(rèn)的初始化(init)系統(tǒng)。  正如其作者所說,作為一個(gè) "從未完成、從未完善、但一直追隨技術(shù)進(jìn)步" 的系統(tǒng)
    發(fā)表于 11-25 10:08

    【Intel Edison試用體驗(yàn)】嚴(yán)肅臉試用5——從SSH無法連接到systemd

    systemd和linux文件系統(tǒng)之/dev/loop的理解。測(cè)試環(huán)境:Windows 7 64 bit,Xshell 5,WIFI,Intel Edison 最新固件1、配置完成后無法通過SSH連接到開發(fā)板
    發(fā)表于 08-10 23:04

    systemd定時(shí)器的基本操作方法

    定時(shí)器任務(wù)作為嵌入式系統(tǒng)中常見的應(yīng)用,systemd 定時(shí)器為用戶提供更多的可配置功能以及優(yōu)化選項(xiàng)。本文列舉了 systemd 定時(shí)器基本操作方法,以及和cron 對(duì)比,幫助用戶更快得使用。更多的技術(shù)細(xì)節(jié)和功能請(qǐng)參考下面的鏈接內(nèi)
    發(fā)表于 01-01 07:37

    i.M8XMQ開發(fā)板如何通過Systemd服務(wù)實(shí)現(xiàn)應(yīng)用自啟

    飛凌OKMX8MQ-C開發(fā)板是基于ARM?Cortex-A53和Cortex-M4的內(nèi)核,具有業(yè)界領(lǐng)先的音頻、語音和視頻處理功能。這次我們就來介紹一下如何通過systemd服務(wù)實(shí)現(xiàn)音頻應(yīng)用的自啟
    發(fā)表于 04-25 15:22

    如何將imx8mpevk板的默認(rèn)Systemd - Init Manager更改為Sysvinit?

    如何將 imx8mpevk 板的默認(rèn) Systemd - Init Manager 更改為 Sysvinit。是否更改了 build/conf/local.conf 文件 INIT_MANAGER
    發(fā)表于 03-15 06:42

    Systemd 又遭背鍋:創(chuàng)建 Devuan 是為了保證 Linux 的穩(wěn)定性

    Systemd 開發(fā)者將社區(qū)細(xì)化,大大降低了穩(wěn)定性,并增加了復(fù)雜性,但卻沒有多少實(shí)際價(jià)值?!?/div>
    的頭像 發(fā)表于 12-14 16:55 ?5469次閱讀

    Linux系統(tǒng)與服務(wù)管理工具Systemd被曝存在3大漏洞

    2013 年 4 月引入(systemd v203),并在 2016 年 2 月可利用(systemd v230),研究人員寫了一個(gè) PoC,可在 i386 上獲得 eip 控制。
    的頭像 發(fā)表于 01-25 16:51 ?3796次閱讀
    Linux系統(tǒng)與服務(wù)管理工具<b class='flag-5'>Systemd</b>被曝存在3大漏洞

    走進(jìn)Linux之systemd啟動(dòng)過程

    的問題,systemd是Linux系統(tǒng)機(jī)器的另一種啟動(dòng)方式,宣稱彌補(bǔ)了以傳統(tǒng)Linux SysV init為基礎(chǔ)的系統(tǒng)的缺點(diǎn)。
    發(fā)表于 04-27 19:14 ?3573次閱讀

    Linux項(xiàng)目開發(fā),你必須了解Systemd服務(wù)!

    1.Systemd簡介Systemd是什么,以前l(fā)inux系統(tǒng)啟動(dòng)init機(jī)制,由于init一方面對(duì)于進(jìn)程的管理是串行化的,容易出現(xiàn)阻塞情況,另一方面init也僅僅是執(zhí)行啟動(dòng)腳本,并不能對(duì)服務(wù)
    的頭像 發(fā)表于 06-18 17:59 ?1514次閱讀
    Linux項(xiàng)目開發(fā),你必須了解<b class='flag-5'>Systemd</b>服務(wù)!

    Systemd是什么?Systemd Service配置文件詳解

    Systemd是什么,以前l(fā)inux系統(tǒng)啟動(dòng)init機(jī)制,由于init一方面對(duì)于進(jìn)程的管理是串行化的,容易出現(xiàn)阻塞情況,另一方面init也僅僅是執(zhí)行啟動(dòng)腳本,并不能對(duì)服務(wù)本身進(jìn)行更多的管理
    的頭像 發(fā)表于 07-22 18:03 ?2905次閱讀

    systemd journal收集日志的三種方式

    隨著 systemd 成了主流的 init 系統(tǒng),systemd 的功能也在不斷的增加,比如對(duì)系統(tǒng)日志的管理。Systemd 設(shè)計(jì)的日志系統(tǒng)好處多多,這里筆者就不再贅述了,本文筆者主要介紹 s
    的頭像 發(fā)表于 10-23 11:50 ?1344次閱讀
    <b class='flag-5'>systemd</b> journal收集日志的三種方式

    技術(shù)分享】正確編寫SysV Init腳本以實(shí)現(xiàn)Systemd兼容(上)

    /),但在Systemd系統(tǒng)中,這些腳本需通過systemd-sysv-generator換為原生服務(wù)單元。若腳本未遵循LinuxStandardBase(LSB)規(guī)范
    的頭像 發(fā)表于 10-28 11:45 ?585次閱讀
    【<b class='flag-5'>技術(shù)</b>分享】正確編寫SysV Init腳本以實(shí)現(xiàn)<b class='flag-5'>Systemd</b>兼容(上)

    技術(shù)分享】Systemd原生服務(wù)配置最佳實(shí)踐(下)

    上期我們說到sysv的規(guī)范,創(chuàng)建以及示例,那么我們今天就來講講Systemd的原生服務(wù)配置。為何要遷移到Systemd原生服務(wù)?盡管規(guī)范化的SysV腳本可臨時(shí)解決問題,但可能存在以下缺陷:效率低下
    的頭像 發(fā)表于 10-29 11:40 ?297次閱讀
    【<b class='flag-5'>技術(shù)</b>分享】<b class='flag-5'>Systemd</b>原生服務(wù)配置最佳實(shí)踐(下)