2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Daemon (elf) processum est processus servitutis in Linux curriculum. Est processus longae vitae.
chdir()
Munus: Ut ne systema fasciculi inaestimabilis occupet, eam etiam in alias vias mutare potes;#include <stdlib.h>
#include <stdio.h>
#include <fcntl.h>
void daemonize(void)
{
pid_t pid;
/*
* 成为一个新会话的首进程,失去控制终端
*/
if ((pid = fork()) < 0) {
perror("fork");
exit(1);
} else if (pid != 0) /* parent */
exit(0);
setsid();
/*
* 改变当前工作目录到/目录下.
*/
if (chdir("/") < 0) {
perror("chdir");
exit(1);
}
/* 设置umask为0 */
umask(0);
//重定向0,1,2文件描述符到 /dev/null,因为已经失去控制终端,再操作0,1,2没有意义.
close(0);
open("/dev/null", O_RDWR);
dup2(0, 1);
dup2(0, 2);
}
int main(void) {
daemonize();
while(1);
/* 在此循环中可以实现守护进程的核心工作 */
}
Cum hoc programma curris, daemon processus fit et cum termino praesenti non amplius coniungitur. Non potes videre illud per mandatum ps. Insuper etiam videre potes quod claudens fenestram terminalem vel colligationem non afficit cursus daemonis.
Cur processus daemonis a moderante terminali separandus est?
Causa quare a termino separatum est, ne processus notitiae ab aliquo termino genitae intercipiatur, et informatio in executione in aliquo termino non exponetur.Cum in Linux, interfaces, per quam singula ratio cum utentibus communicat, terminatio appellatur, omnis processus qui ab hoc termino incipit cursus nititur.
Huic termino adnexo, hic terminatio dominium terminatio horum processuum appellatur. Multae tamen applicationes nostrae processus sine intermissionibus intermissionibus exire nolunt, ut databases, officia interretialia, officia ludorum, etc. In hoc tempore processibus daemonum uti necesse est.
Hic articulus inducit notionem processus daemonis, programmatio gradus processus daemonis, exsecutio codicis, et processus daemonis munus. Adiuva nos intelligamus principia operativa programmatum curriculorum, etc.