博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
一个linux守护进程的编写(Ubuntu环境下)
阅读量:4878 次
发布时间:2019-06-11

本文共 1989 字,大约阅读时间需要 6 分钟。

在网上找了许多资料,发现不同系统下的编写方法有点不同,这里用的了ubuntu下的方法,供参考:

先写一下小程序运行 , init_daemon:

1 #include 
2 #include
3 4 int main() 5 { 6 daemon(0,0); // 将进程声明为守护进程 7 8 int i = 0 ; 9 while(1)10 {11 i++ ;12 sleep(100000);13 }14 }

编译,生成可执行文件: gcc -c init_daemon  gcc -o init_daemond init_daemon.o   ( 这里守护进程一般在文件后面加个d )

 

下面写bash文件,注意这个文件名一定要与程序名一致 ,这里文件名为: init_daemond,创建后修改文件属性为 sudo chmod +x init_daemond  :

1 #! /bin/sh 2  3 ### BEGIN INIT INFO 4 # Provides:             5 # Description:       A simple example for daemon app 6 ### END INIT INFO 7  8  9 if [ -f /etc/init.d/functions ]10 then11     . /etc/init.d/functions12 else13     . /lib/lsb/init-functions14 fi15 16 NAME=Example_Daemond17 DAEMON=/usr/bin/init_daemond18 LOCKFILE=/var/lock/subsys/$DAEMON19 PIDFILE=/var/run/$NAME.pid20 21 #start function 22 start(){23     echo -n "Starting daemon: "$NAME24     start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON25     echo "."26 }27 #stop function28 stop(){29     echo "Stopping $DAEMON ..."30     if pidof $DAEMON > /dev/null; then31         killall -9 $DAEMON > /dev/null32         rm -rf $PIDFILE33         echo "Stop $DAEMON Success..."34     fi    35 }36 37 38 #restart function39 restart(){40     start41     stop42 }43 44 #status function 45 status(){46     if pidof -o %PPID $DAEMON > /dev/null; then47              echo $NAME" is running..."48              exit 049     else50              echo $NAME" is not running..."51              exit 152     fi53 }54 55 56 case "$1" in57 start)58     start59     ;;60 stop)61     stop62     ;;63 reload|restart)64     stop65     sleep 266     start67     ;;68 status)69     status70     ;;71 *)72     echo $"Usage: $0 {start|stop|restart|status}"73     exit 174 esac

 然后可以用service 命令启动守护进程:

1 service init_daemond start 2 service init_daemond stop3 service init_daemond status

 

可以用ps -ef 命令来查看守护进程的运行

转载于:https://www.cnblogs.com/trying/archive/2013/05/30/3108324.html

你可能感兴趣的文章
web服务器,验证码,Xftp使用方法
查看>>
割点 - 模板
查看>>
使用maven 如何生成源代码的jar包
查看>>
Ubuntu 16.04.6 + Win10 双系统时间错误且不一致
查看>>
协同过滤代码---loadMovieLens.py文件
查看>>
条件分布
查看>>
Python之字符串的特性及常用方法
查看>>
第三次作业——结对编程
查看>>
ora-12899解决方法
查看>>
(8)关于flexbox的一些想法。
查看>>
一台机子同时启动两个相同版本的tomcat
查看>>
剑指offer——python【第29题】最小的K个数
查看>>
带你入门代理模式/SpringAop的运行机制
查看>>
IOC 的理解与解释
查看>>
参考的博客
查看>>
移动端适配方案
查看>>
一次完整的http请求所需要完成的步骤
查看>>
初来乍到
查看>>
羊村的OI题解
查看>>
Android:用Handler实现异步处理功能
查看>>