iis服务器助手广告广告
返回顶部
首页 > 资讯 > 操作系统 >linux下的守护进程实例分析
  • 915
分享到

linux下的守护进程实例分析

2024-04-02 19:04:59 915人浏览 八月长安
摘要

本篇内容主要讲解“linux下的守护进程实例分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“linux下的守护进程实例分析”吧!shell控制的PHP常驻进程

本篇内容主要讲解“linux下的守护进程实例分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“linux下的守护进程实例分析”吧!

shell控制的PHP常驻进程的例子

代码如下:

#!/bin/sh
#filename test.sh
#绝对定位该文件的位置,不随执行目录而变化
cd $(cd "$(dirname "$0")";pwd)
readonly path=$(pwd)/
file=$1;
runfile="${path}data/${file}.run"
diefile="${path}data/${file}.die"
readonly file="${path}${file}.php"
if [ ! -f "$file" ]; then
    echo "please select a exists file"
elif [ ! -f "$runfile" ]; then
#这里进行判断如果runfile文件不存在,则表示该进程不存在,下面启动进程
    echo $$>${runfile}
    while true
        do
            if [ ! -f $diefile ]; then
            #这里如果diefile文件不存在,则表示程序继续执行,否则进入else,执行退出操作
                /usr/bin/php -f ${file}
                touch $runfile
                sleep 1
            else
            #如果diefile文件存在清除runfile和diefile退出
                if rm -rf $runfile && rm -rf $diefile ; then
                    exit
                fi
            fi
        done
else
#这里是在存在runfile的情况下试图启动该进程
    oldpid=`cat $runfile`
    newpid=`ps aux | grep "process.sh $1" | grep -v grep | grep "$oldpid" | awk '{print $2}'`
    if [[ $oldpid -eq $newpid ]]; then
    #如果runfile中的进程号和正在运行的目标进程号一致,表明一切安好^_^
        echo "the process is runing now"
        exit
    else
    #如果用runfile中的进程号匹配不到正在运行的目标进程,则表示进程有问题,直接删除runfile并结束运行的进程
        echo "error situation,kill the run process and delete the run file"
        ps aux | grep "process.sh $1" | grep -v 'grep' | awk '{print $2}' | grep -v $$ | xargs --no-run-if-empty kill
        if [ $? -eq 0 ]; then
            rm -f $runfile
        else
            echo $?>${path}/data/error
        fi
    fi
fi

只里面有几个要强调的地方:

我用这个shell去调用php程序,这个没有局限性,这里要说明的是这种运行常驻进程的方法
在runfile存在,但进程号对不上杀进程时(也就是红色额else所执行的地方),一定要 `grep -v $$`,作用是过滤掉当前运行的进程,要不然都被杀掉了,将后面的就不执行了
还有一个要注意的地方就是关于自动重启了
自动重启可以放在crontab中,每隔一段时间执行一次,具体情况具体对待。

复制代码 代码如下:

crontab -e
#打开当前用户日程表,添加模式
#日程表中有5个星号,f1,f2,f3,f4,f5,
#其中f1表示分,f2表示时,f3表示日,f4表示月,f5表示一个星期第几天  
#*表示每分/时/日/月/周天,*/n表示每n分/时/......执行一次
*/2 * * * * /root/test.sh
#没2分钟执行一次

这样一个完整的常驻进程功能就完成了,想要终止进程是只需要在对应的目录下进行touch ${diefile}即可。

到此,相信大家对“linux下的守护进程实例分析”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: linux下的守护进程实例分析

本文链接: https://www.lsjlt.com/news/95732.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • linux下的守护进程实例分析
    本篇内容主要讲解“linux下的守护进程实例分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“linux下的守护进程实例分析”吧!shell控制的php常驻进程...
    99+
    2024-04-02
  • [Linux]----守护进程
    文章目录 前言一、什么是守护进程二、会话和进程组会话进程组 三、守护进程的编程流程四、命令行指令让进程守护化总结总结 前言 这节课我来给大家讲解在Linux下如何让进程守护化,运行在...
    99+
    2023-09-30
    linux 服务器 运维
  • Linux下以守护进程方式运行.NET6
    前言 ​ 在《步步入门》 .NET 6 部署到Linux 一文中只是演示了控制终端方式运行ASP.ENT,在实际的应用中,这种方式不能确保服务延续性。如果控制终端关闭,或者服务...
    99+
    2024-04-02
  • PHP实现守护进程的示例代码
    目录前言成为守护进程的步骤实现说明创建子进程并退出父进程创建新的会话重设文件掩码改变工作目录关闭标准输入输出其他注意事项前言 写 PHP CLI 程序的老司机们可能经常会写一些常驻进...
    99+
    2024-04-02
  • ASP.NET Core在Linux下为dotnet创建守护进程
    什么是守护进程 在linux或者unix操作系统中,守护进程(Daemon)是一种运行在后台的特殊进程,它独立于控制终端并且周期性的执行某种任务或等待处理某些发生的事件。由于在lin...
    99+
    2024-04-02
  • 在Linux下怎么为dotnet创建守护进程
    本篇内容介绍了“在Linux下怎么为dotnet创建守护进程”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!什么是守护进程在linux或者un...
    99+
    2023-06-22
  • Java并发中守护线程的示例分析
    今天就跟大家聊聊有关Java并发中守护线程的示例分析,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。在Java中有两类线程:用户线程 (User Thread)、守护线程 (Daemo...
    99+
    2023-06-17
  • 如何启动Linux的守护进程
    这篇文章主要介绍“如何启动Linux的守护进程”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“如何启动Linux的守护进程”文章能帮助大家解决问题。Linux Daemon(守护进程)是运行在后台的一...
    99+
    2023-06-27
  • Linux守护进程如何启动
    本文小编为大家详细介绍“Linux守护进程如何启动”,内容详细,步骤清晰,细节处理妥当,希望这篇“Linux守护进程如何启动”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。&quo...
    99+
    2024-04-02
  • linux守护进程怎么创建
    这篇文章主要讲解了“linux守护进程怎么创建”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“linux守护进程怎么创建”吧!在linux中,守护进程也称“精灵进程”,是一个在后台运行且不受任...
    99+
    2023-06-29
  • linux守护进程怎么启动
    在Linux中,守护进程的启动通常有以下几种方式: 使用命令行启动:在终端中使用命令行启动守护进程,例如: ./daemon ...
    99+
    2023-10-23
    linux
  • 在Dockerfile的RUN指令中不执行守护进程的示例分析
    小编给大家分享一下在Dockerfile的RUN指令中不执行守护进程的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!不要在你的Dockerfile中的RUN指令中执行守护进程 $ cat&nbs...
    99+
    2023-06-04
  • Python守护进程daemon实现
    1.1 守护进程 守护进程是系统中生存期较长的一种进程,常常在系统引导装入时启动,在系统关闭时终止,没有控制终端,在后台运行。守护进程脱离于终端是为了避免进程在执行过程中的信息在任何终端上显示并且进程也不会被任何终端所产生的终端信息...
    99+
    2023-01-31
    进程 Python daemon
  • Python实现Daemon(守护)进程
    最近在写Daemon进程,在编写过程中遇到一些小麻烦,最终还是解决了。 我编写了两种,第一种是编写了一个程序,将其用setsid命令让其放入后台运行,第二种是直接fork()一个进程,在代码里将进程设置为后台启动。 在os.sytem()...
    99+
    2023-01-31
    进程 Python Daemon
  • Linux中守护进程如何启动
    这篇文章将为大家详细讲解有关Linux中守护进程如何启动,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。护进程也称精灵进程(Daemon),是运行在后台的一种特殊进程。它独立于控制终端并且周期性地执行某种任...
    99+
    2023-06-27
  • 如何使linux shell实现守护进程脚本
    这篇文章主要讲解了“如何使linux shell实现守护进程脚本”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何使linux shell实现守护进程脚本”吧!#! /bin/sh...
    99+
    2023-06-09
  • linux中怎么创建守护进程
    这期内容当中小编将会给大家带来有关linux中怎么创建守护进程,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。创建子进程,父进程退出   这是编写守护进程的第一步。由于守护进程是脱离控制终端的,因此,完成第...
    99+
    2023-06-09
  • linux中如何建立守护进程
    小编给大家分享一下linux中如何建立守护进程,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!linux 守护进程详解及建立守护进程守护进程是一种后台运行并且独立于...
    99+
    2023-06-09
  • 如何进行Python进程的守护进程实施
    如何进行Python进程的守护进程实施,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Python进程这一计算机语言在实际的应用中,如果你在实际应用的过程中遇到相...
    99+
    2023-06-17
  • python中的daemon守护进程实现
    守护进程是生存期长的一种进程。它们独立于控制终端并且周期性的执行某种任务或等待处理某些发生的事件。他们常常在系统引导装入时启动,在系统关闭时终止。 ...
    99+
    2023-01-31
    进程 python daemon
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作