自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Python進(jìn)程的守護(hù)進(jìn)程實(shí)施方案的詳細(xì)介紹

開發(fā) 后端
Python進(jìn)程在實(shí)際操作的過程中,如果你有很多的相關(guān)問題不能得到好的解答,你可以通過以下的文章對(duì)其有相關(guān)的了解。

Python進(jìn)程這一計(jì)算機(jī)語(yǔ)言在實(shí)際的應(yīng)用中,如果你在實(shí)際應(yīng)用的過程中遇到相關(guān)問題,你就可以通過以下的文章對(duì)其的實(shí)際應(yīng)用有較為詳細(xì)的介紹,以下是文章的具體介紹,希望你會(huì)有所收獲。

Python進(jìn)程

更多相關(guān)推薦 守護(hù)進(jìn)程:通常被定義為一個(gè)后臺(tái)進(jìn)程,而且它不屬于任何一個(gè)終端會(huì)話(terminal session)。許多系統(tǒng)服務(wù)由守護(hù)程序?qū)嵤?;如網(wǎng)絡(luò)服務(wù),打印等。 下面是轉(zhuǎn)自一位網(wǎng)友寫的編寫守護(hù)進(jìn)程的步驟:

1. 調(diào)用fork()以便父進(jìn)程可以退出,Python進(jìn)程這樣就將控制權(quán)歸還給運(yùn)行你程序的 命令行或shell程序。需要這一步以便保證新進(jìn)程不是一個(gè)進(jìn)程組頭領(lǐng)進(jìn)程(process group leader)。下一步,‘setsid()’,會(huì)因?yàn)槟闶沁M(jìn)程組頭領(lǐng)進(jìn)程而失敗。

 2. 調(diào)用‘setsid()’ 以便成為一個(gè)進(jìn)程組和會(huì)話組的頭領(lǐng)進(jìn)程。由于一個(gè)控制終端 與一個(gè)會(huì)話相關(guān)聯(lián),而且這個(gè)新會(huì)話還沒有獲得一個(gè)控制終端,我們的進(jìn)程沒 有控制終端,這對(duì)于守護(hù)程序來(lái)說是一件好事。#t#

 3. 再次調(diào)用‘fork()’所以父進(jìn)程(會(huì)話組頭領(lǐng)進(jìn)程)可以退出。這意味著我們,一 個(gè)非會(huì)話組頭領(lǐng)進(jìn)程永遠(yuǎn)不能重新獲得控制終端。

 4. 調(diào)用‘chdir("/")’確認(rèn)我們的進(jìn)程不保持任何目錄于使用狀態(tài)。不做這個(gè)會(huì)導(dǎo) 致系統(tǒng)管理員不能卸裝(umount)一個(gè)文件系統(tǒng),因?yàn)樗俏覀兊漠?dāng)前工作目錄。 [類似的,我們可以改變當(dāng)前目錄至對(duì)于守護(hù)程序運(yùn)行重要的文件所在目錄]

5. 調(diào)用‘umask(0)’以便我們擁有對(duì)于我們寫的任何東西的完全控制。我們不知 道我們繼承了什么樣的umask。 [這一步是可選的](譯者注:這里指步驟5,因?yàn)槭刈o(hù)程序不一定需要寫文件)

 6. 調(diào)用‘close()’關(guān)閉文件描述符0,1和2。這樣我們釋放了從父進(jìn)程繼承的標(biāo) 準(zhǔn)輸入,標(biāo)準(zhǔn)輸出,和標(biāo)準(zhǔn)錯(cuò)誤輸出。我們沒辦法知道這些Python進(jìn)程文描述符符可能 已經(jīng)被重定向去哪里。注意到許多守護(hù)程序使用‘sysconf()’來(lái)確認(rèn) ‘_SC_OPEN_MAX’的限制。‘_SC_OPEN_MAX’告訴你每個(gè)進(jìn)程能夠打 開的最多文件數(shù)。

然后使用一個(gè)循環(huán),守護(hù)程序可以關(guān)閉所有可能的文件描 述符。你必須決定你需要做這個(gè)或不做。如果你認(rèn)為有可能有打開的文件描 述符,你需要關(guān)閉它們,因?yàn)橄到y(tǒng)有一個(gè)同時(shí)打開文件數(shù)的限制。

7. 為標(biāo)準(zhǔn)輸入,標(biāo)準(zhǔn)輸出和標(biāo)準(zhǔn)錯(cuò)誤輸出建立新的文件描述符。即使你不打算,使用它們,打開著它們不失為一個(gè)好主意。準(zhǔn)確操作這些描述符是基于各自 愛好;比如說,如果你有一個(gè)日志文件,你可能希望把它作為標(biāo)準(zhǔn)輸出和標(biāo) 準(zhǔn)錯(cuò)誤輸出打開,而把‘/dev/null’作為標(biāo)準(zhǔn)輸入打開;

作為替代方法,你可 以將‘/dev/console’作為標(biāo)準(zhǔn)錯(cuò)誤輸出和/或標(biāo)準(zhǔn)輸出打開‘/dev/null’作
為標(biāo)準(zhǔn)輸入,或者任何其Python進(jìn)程對(duì)你的守護(hù)程序有意義的結(jié)合方法。

責(zé)任編輯:佚名 來(lái)源: Ubuntu
相關(guān)推薦

2010-06-28 14:52:30

cron進(jìn)程

2013-01-15 15:18:46

Linux守護(hù)進(jìn)程

2012-10-17 14:17:21

SAN網(wǎng)絡(luò)布線

2009-12-31 09:19:19

2011-06-22 17:09:50

QT 進(jìn)程 通信

2011-03-29 12:45:07

Zabbix進(jìn)程

2010-06-11 16:57:37

Linux 查看進(jìn)程

2017-04-11 16:00:40

Linuxsyslog進(jìn)程

2024-10-07 09:03:15

2009-10-22 12:58:45

校園綜合布線系統(tǒng)

2019-10-15 09:31:31

架構(gòu)運(yùn)維技術(shù)

2017-01-13 15:39:29

Linux進(jìn)程基礎(chǔ)介紹

2010-03-02 16:37:53

Linux Quagg

2010-06-04 14:31:59

Linux 查看進(jìn)程

2010-03-25 16:51:12

Python程序

2010-04-13 09:29:54

Oracle SMON

2009-11-24 11:35:59

2010-07-15 15:54:10

Perl守護(hù)進(jìn)程

2010-03-31 14:36:50

Oracle進(jìn)程結(jié)構(gòu)

2011-06-07 14:15:01

jQuery
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)