多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > 互聯網 > Linux daemon進程原理與使用

Linux daemon進程原理與使用

來源:程序員人生   發布時間:2015-05-12 09:00:26 閱讀次數:3194次

甚么情況下用daemon進程

生產環境下,除我們ssh登錄上去,然后手動跑的那部份之外,其他都是自動運行的,這些大部份都應當是后臺履行的。如何才能后臺履行呢?

  1. nohup ./XXX &
  2. 由系統的其他daemon進程啟動。這樣的話,你的程序是它的子進程,跟終端沒關系。退出終端也不會致使進程退出。如寫在crontab里。
  3. 寫成daemon程序,可以手動履行,退出終端時程序不退出。

如何選擇呢?
(1)首先,清算過期日志這1類需求,可以寫1個死循環1直運行,也能夠寫在crontab里,每次履行完就退出(如果每分鐘1次可以滿足的話);
(2)crontab的需要接受最多1分鐘的時延,如果實時性要求更高1些,那末就需要斟酌寫個死循環了,這個程序可以由crontab來start和restart,只有在掛了重啟時才會出現1分鐘時延;
(3)服務不能中斷的(nginx、redis、apache,所有在線服務),1般都是daemon程序。但理論上用(2)仿佛也能夠;固然這二者細節上有很多區分。

怎樣用daemon進程

linux C/C++可以直接調用int daemon(int, int)函數,不需要自己重新實現。
示例代碼:

#include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <iostream> int main(int argc, char *argv[]) { if (argc < 3) { printf("Usage: $0 no_ch_dir no_close_fd "); exit(0); } int no_ch_dir = atoi(argv[1]); int no_close_fd = atoi(argv[2]); std::cout << "main pid : " << getpid() << std::endl; std::cout << "main parent pid : " << getppid() << std::endl; std::cout << "main pwd : " << get_current_dir_name() << std::endl; if (daemon(no_ch_dir, no_close_fd) != 0) { // 1般都用daemon(0,0) // 成功返回0,失敗返回⑴ // daemon(0,0):chdir到/,關閉0,1,2描寫符。 std::cout << "stdout: daemon = ⑴" << std::endl; std::cerr << "stderr: daemon = ⑴" << std::endl; return 1; } std::cout << "stdout: daemon = 0" << std::endl; std::cerr << "stderr: daemon = 0" << std::endl; std::cout << "sub pid : " << getpid() << std::endl; std::cout << "sub parent pid : " << getppid() << std::endl; std::cout << "sub pwd : " << get_current_dir_name() << std::endl; while (1); return 0; }``` 編譯運行:

[chenming@localhost ~]g++test1.cc?otest1[chenming@localhost ] ./test1
Usage: 0nochdirnoclosefd[chenming@localhost ] ./test1 0 0
main pid : 7896
main parent pid : 7573
main pwd : /home/chenming
[chenming@localhost ~]ps?ef|greptest194:chenming78647573516:09pts/000:00:16vimtest1.cc95:chenming789719316:14?00:00:18./test10097:chenming78997573716:15pts/000:00:00grep?inE

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 亚洲激情中文字幕 | 久草视频在线网 | 东北普通话清晰对白 | 久久一区不卡中文字幕 | 爱综合| 久久午夜一区二区 | 欧美色欧美色 | 极品福利在线 | 日本高清中文字幕一区二区三区 | 国产中文欧美 | 99热成人精品国产免国语的 | 最近更新在线中文字幕一页 | 国产欧美成人一区二区三区 | 亚洲成a人v欧美综合天堂软件 | 91精品国产综合久久久久 | 波多野结衣不卡 | 亚洲高清成人欧美动作片 | 综合天堂 | 中国一级淫片aaa毛片毛片 | 久久精品一区二区三区资源网 | 精品一区二区三区免费视频 | 一区二区国产在线播放 | h视频免费高清在线观看 | 国产视频一二区 | 最新午夜宅男 | 欧美成人精品高清在线观看 | 亚洲精品国产成人99久久 | 一区二区中文字幕亚洲精品 | 狠久久| 5月丁香婷婷| 亚洲欧美日韩综合一区久久 | 国产精品久久久久久久久久妇女 | 国产精品 第1页 | 在线不卡国产 | 国产精品成人免费综合 | 欧美精品v欧洲高清 | 亚洲综合精品成人 | 欧美日韩不卡视频一区二区三区 | 亚洲成人在线播放 | 黄色综合 | 成人福利社区 |