作为守护进程运行的协议无关时间获取服务器程序

Posted 川页科技

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了作为守护进程运行的协议无关时间获取服务器程序相关的知识,希望对你有一定的参考价值。

#include    <time.h>
#include    <stdio.h>
#include    <stdlib.h>
#include    <string.h>
#include    <unistd.h> 
#include    <sys/socket.h>

#define     MAXLINE     4096

int daemon_init(const char *, int);
int tcp_listen(const char *, const char *, socklen_t *);
char *sock_ntop(const struct sockaddr *, socklen_t);
void err_msg(const char *, ...);
void err_quit(const char *, ...);

int main(int argc, char **argv)
{
    int listenfd, connfd;
    socklen_t addrlen, len;
    struct sockaddr    *cliaddr;
    char buff[MAXLINE];
    time_t ticks;

    if (argc < 2 || argc > 3) {
        err_quit("usage: %s [ <host> ] <service or port>", argv[0]);
    }

    daemon_init(argv[0], 0);

    if (argc == 2) {
        listenfd = tcp_listen(NULL, argv[1], &addrlen);
    } else {
        listenfd = tcp_listen(argv[1], argv[2], &addrlen);
    }

    cliaddr = malloc(addrlen);

    for ( ; ; ) {
        len = addrlen;
        connfd = accept(listenfd, cliaddr, &len);
        err_msg("connection from %s", sock_ntop(cliaddr, len));

        ticks = time(NULL);
        snprintf(buff, sizeof(buff), "%.24s
", ctime(&ticks));
        write(connfd, buff, strlen(buff));

        close(connfd);
    }
}

 

以上是关于作为守护进程运行的协议无关时间获取服务器程序的主要内容,如果未能解决你的问题,请参考以下文章

我可以让一些代码像守护进程一样在 Django 中不断运行吗

Python 脚本作为 linux 服务/守护进程

如何将 node.js 服务器作为守护进程启动?

优雅地杀死在 Linux 上运行的 .NET Core 守护进程

为啥 Celery 守护进程看不到任务?

Mac OSX 上的 XAMPP:为啥作为“守护进程”运行? [关闭]