`
hulunberbus
  • 浏览: 894114 次
文章分类
社区版块
存档分类
最新评论

用Linux守护进程检测某个程序是否运行

 
阅读更多

用Linux守护进程检测某个程序是否运行


本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明.


环境:

主机:Fedora12

目标板:RF6410

目标板LINUX内核版本:2.6.36


实现功能:

做的一个嵌入式板子开机会自启动一个程序,但发现它工作数天后会退出。检查内存使用并没有泄漏,于是编写了一个守护进程来不断检查程序是否运行,没运行则运行它,这是一个折衷的办法。


说明:

需要运行的程序是AlarmInterface,位于目录/rf/下面。我做了一个脚本DuiJiang来启动这个AlarmInterface,并在脚本中添加了触摸屏支持。也就是说启动DuiJiang就可以启动AlarmInterface。检测程序是否运行的方法是通过ps -w|grep AlarmInterface指令获得AlarmInterface的进程,然后保存在一个文件中.检查AlarmInterface进程是否运行即可判断程序是否运行.


驱动源代码:

daemon_service.c:


守护进程每分钟检测一次,用tail -f /var/long/messages可以看到守护进程输出的信息.



分享到:
评论

相关推荐

    linux c++ 守护线程,判断程序是否运行,不存在就启动

    在Linux系统中,C++编程时常常需要创建守护线程(daemon ...此外,如果目标程序是守护进程,可能需要考虑进程间的通信和控制,比如使用信号量或共享内存。在使用`system()`时,注意潜在的安全风险,避免命令注入。

    LINUX守护进程介绍

    Linux守护进程是Linux系统中的一种特殊进程,它们在系统启动后独立运行,通常与用户的交互较少,负责执行长期持续的任务,如网络服务、系统监控、定时任务等。这些守护进程在后台持续工作,确保系统的正常运行和服务...

    自动重启+进程守护

    如果某个程序意外崩溃或被非正常终止,进程守护工具会自动检测到并重新启动该程序,保证服务的连续性。这在运行关键业务应用或服务的环境中是必不可少的。进程守护可能包含在系统服务中,或者可以通过第三方应用程序...

    Java实现Linux下双守护进程

    2. **java.nio.channels.FileLock**:Java新I/O(NIO)中的类,允许对文件进行加锁操作,用于检测某个文件是否正被另一个进程占用,从而判断程序状态。 3. **ProcessBuilder与Process**:这两个类允许Java程序调用...

    Windows使用bat批处理实现守护进程脚本分享

    守护进程的主要职责是在后台持续运行并监控某个应用程序或服务的状态,一旦检测到该应用程序出现异常退出的情况,守护进程能够自动重启它,从而确保关键业务的连续性和稳定性。 #### 关键概念解释 1. **批处理脚本...

    Linux 下一个ARP解析程序

    本篇文章将深入探讨一个经典的Linux ARP解析程序的实现,包括守护进程的编写和ARP处理。 首先,我们需要了解ARP的工作原理。当主机需要向某个IP地址发送数据时,如果目标IP不在本地缓存中,主机就会广播一个ARP请求...

    Linux中用PHP判断程序运行状态的2个方法

    在Linux环境中,使用PHP进行程序运行状态的判断是常见的需求,尤其在自动化脚本和守护进程管理中。这里介绍的两种方法可以帮助我们有效地检查某个PHP程序是否已经在运行,避免资源的浪费和冲突。 方法一:利用Linux...

    Linux自测题(正在学自Linux的朋友可以检测一下)

    在Linux中,使用`cron`守护进程来调度计划任务。`cron`配置文件中的格式为“分钟 小时 日 月 周命令”。因此,要在每周日的下午四点十五分自动执行任务,应设置为`15 16 * * 0`。因此,正确答案是`d、15 16 0 * *`。...

    linux信号详细列表

    对于守护进程而言,此信号可用于触发重新读取配置文件的操作。 - **默认行为**:终止进程。 - **示例**:`wget` 程序能够捕获并忽略此信号,从而实现即使用户退出登录也能继续下载的功能。 **2) SIGINT - 中断信号*...

    linux的网络编程

    - **简介:** 守护进程是一种在后台运行的进程,没有控制终端。 - **守护进程的启动:** - 通常在系统启动时自动启动。 - 通过命令行手动启动。 - **守护进程的错误输出:** 错误信息通常被重定向到日志文件或其他...

    红旗linux redflag HA 双机 资料

    6. **RedFlag HA Daemon (Service)**:HA守护进程,负责处理集群的核心功能,如心跳检测、故障切换等。 7. **RedFlag HA Monitor Daemon (Service)**:监控守护进程,用于实时监控系统状态。 8. **Agent Scripts**...

    Linux启动流程 Linux启动流程

    - **启动服务**:根据`/etc/inittab`文件和`/etc/rc.d/rc目录中的脚本,`init`进程会启动各种服务,这些服务包括系统守护进程、网络服务等。 - **打开控制台**:系统会打开字符控制台(如tty1至tty6)和图形控制台...

    inwatch:用于设置 inotify 监视和对事件运行命令的守护进程

    4. **性能分析**:监控程序运行时的文件访问,以了解程序的行为和优化潜在点。 5. **安全监控**:监视系统关键文件的变更,及时发现并处理异常活动。 综上所述,`inwatch` 是一个强大的工具,利用 inotify 机制...

    入门学习Linux常用必会60个命令实例详解doc/txt

    因为Linux与Windows不同,其后台运行着许多进程,所以强制关机可能会导致进程的数据丢失,使系统处于不稳定的状态,甚至在有的系统中会损坏硬件设备(硬盘)。在系统关机前使用 shutdown命令,系统管理员会通知所有...

    Linux杀不死的进程之CPU使用率700%解决方法

    这可能是因为进程被设计为自动重启,或者存在某种守护进程机制。 2. **深入分析进程**: 进入`/proc/PID`目录,这里的`PID`是你之前记录的进程ID,可以查看进程的详细信息。例如,`ls -ail`可以列出该目录下的文件...

    framework学习笔记

    当系统检测到某个应用程序崩溃时,`debuggerd`会自动启动并尝试捕捉崩溃时的信息,以便进行调试分析。这个过程通常包括保存崩溃时的内存快照、调用堆栈信息等数据。这对于定位问题根源、修复bug具有重要意义。 ####...

    linux内核调试技术

    由于驱动程序运行在内核空间,其调试方法与用户空间的应用程序有所不同。本文旨在介绍如何在Linux内核中启用调试选项,并探讨几种常用的调试技术。 #### 二、在内核中开启调试选项 ##### 2.1 配置内核编译选项 ...

    SUSE Linux Enterprise Server 11 管理员手册

    - **导航命令**:使用方向键来移动到不同的选项,按Enter键来选择或展开某个菜单项。 **3.2 组合键的限制** - **概念理解**:在文本模式下,某些组合键可能无法正常工作。 - **注意事项**:例如,在某些情况下,...

Global site tag (gtag.js) - Google Analytics