linux crontab運行原理

工作流程

在這裏插入圖片描述

  • 主進程fork個子進程cron (A) 爲守護進程,每分鐘讀取一下crontab中的配置,是否有要調度的進程,如果有,則放入任務隊列中;
  • 執行該調度任務命令:A 先fork一個子進程 (B) 整體管理整個命令的執行,B 進程fork一個子進程 (C) 運行cron命令,如果該任務有輸入,則 B 進程fork一個子進程 (D)D 進程將任務輸入輸出給 C 進程。
  • D 進程不是必須的,只是任務中輸入時才需要,比如:
   */1 * * * * /tmp/X/x%1234567890

%後面(1234567890)的爲標準輸入,則 D 進程會把1234567890輸入給 C 進程。

說明

  • cron是一個在後臺運行調度的守護進程,而crontab是一個設置cron的工具。cron調度的是/etc/crontab文件。

參考

https://my.oschina.net/daquan/blog/483305

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章