`
Fangrn
  • 浏览: 818513 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

寻找异常退出终端上的进程

阅读更多

个别telnet上来的用户没有正常退出应用程序,直接关闭telnet程序,保险的应用程序可能屏蔽了一些信号,结果这些失去父进程的可怜孩子,只好用频繁的cpu活动来回报操作系统。 经检查这些进程有个特点,就是ps显示有终端号,但是在who输出中没有该终端,根据这个属性,编写了查杀脚本:

ps -e -o tty | grep -v -E "\-|   |TT" | awk '{ print $1 }'| sort | uniq > /tmp/ps_out.$$
who | awk '{ print $2 }' | sort > /tmp/who_out.$$

for tty in `diff /tmp/ps_out.$$ /tmp/who_out.$$ | grep "<.*pts" | cut -c3-`
do
    username=`ps -t pts/0 -o user= | awk '{ print $1 }'`
    if [ x$username != "xroot" ] && [ x$username != "xinformix" ]
    then
        ps uxt $tty
        if [ $? -eq 0 ] && ! ( who | grep $tty )
        then
            echo "========================================="
                echo kill -9 `ps -t $tty -o pid=`
            echo "========================================="
        fi
    fi
done
rm /tmp/ps_out.$$ /tmp/who_out.$$
分享到:
评论

相关推荐

    监控子进程异常退出的示例

    用C#实现的 进程间通信小例子 监控子进程异常退出的示例

    UncaughtException不让Android应用异常退出

    这样,即使该组件在一个进程中遇到未捕获异常导致崩溃,也不会影响到其他运行在不同进程中的组件,从而防止整个应用的退出。 3. **Process.killProcess()**: 这是一个系统级别的方法,用于结束指定的进程。在处理...

    监听进程是否已退出

    `GetExitCodeProcess`函数用于获取进程的退出代码,这个代码通常反映了进程的运行结果,0通常表示正常退出,非零值则可能表示异常或错误。 总之,在VB中监听进程是否已退出,主要通过`CreateProcess`启动进程获取...

    检测子进程退出的方法

    子进程在执行完毕或遇到某些异常情况时会退出,而父进程通常需要知道子进程何时退出以及退出状态。 **进程退出**:子进程在完成任务或者遇到错误时会退出。退出时,它会产生一个退出状态码,这个状态码可以用来告知...

    程序异常退出解决方案.rar

    在IT领域,程序异常退出是开发者经常会...综上所述,解决程序异常退出是一个涉及多个层面的过程,需要结合日志分析、调试、测试、资源管理等多个方面的方法。通过这些综合手段,可以有效地提升程序的稳定性和可靠性。

    进程树退出检测程序

    自己写的一个进程树监控程序,当进程树下所有进程退出后,此进程才会退出。 由于是随手写的程序,稳定性不敢保证,请勿使用到生产环境中,谨慎使用手中积分。 此程序从EasyHook Demo:FileMonitorHook 修改获得的。

    守护进程,程序异常死机后自动重启

    在IT领域,守护进程(Daemon)通常是在操作系统后台运行的服务程序,它们不与任何终端关联,主要用于提供持续性服务。在Unix-like系统中,守护进程很常见,而在Windows操作系统中,虽然概念略有不同,但也有类似的...

    实用进程异常监控软件

    它具有高度自动化的特点,能够实时监控最多30个不同的进程,一旦发现任何被监控的进程异常退出,软件会立即执行自动重启操作,以保证服务的连续性和系统的正常运行。 在实际应用中,这样的软件对于服务器维护、应用...

    守护天使进程退出监视源码20130711

    3. **异常处理**:如果发现目标进程已退出,守护进程需要能够捕获这个异常情况。这可能涉及到解析进程退出状态码,以判断是正常退出还是异常终止。 4. **进程重启**:在确定目标进程退出后,守护进程将使用相同的...

    进程管理实验创建进程获得退出代码

    1. **复制父进程的上下文**:新创建的子进程会继承父进程的大部分属性,如环境变量、用户权限等。 2. **分配新的PID**:子进程将获得一个新的唯一标识符,以便与父进程和其他进程区分开来。 3. **资源分配**:操作...

    linux waitpid检测子进程是否退出

    子进程的退出状态通常通过`exit()`函数设定,或者是由于异常终止(如信号导致)。退出状态码是一个整数,0表示正常退出,非零值表示异常退出。父进程可以通过`status`参数获取这个信息,判断子进程的退出情况。 `...

    vb/vba引用excel无法退出excel进程的解决方法

    ### vb/vba引用excel无法退出excel进程的解决方法 在使用VB/VBA编程语言操作Excel时,经常会遇到一个令人头疼的问题:尽管已经执行了`xlapp.Quit` 和 `Set xlapp = Nothing`来关闭Excel应用并释放相关资源,但Excel...

    Android 应用程序异常退出自动重启

    Android 应用崩溃自动启动 给用户给好的体验 本应用还可以扩展为类似京东崩溃时弹出信息反馈框 这需要你自己实现哦 另外欢迎关注我的新浪微博@MinganCai 有问题可以@我 我会尽快给你们回复的 雷锋

    weblogic守护进程:监控weblogic进程,当发现进程停止时调用重启脚本重启

    #脚本名称:sysWeblogicMonitorRestart.sh #功能:weblogic守护进程:监控weblogic进程,当发现进程...监控weblogic,若发现异常则重启进程,并发送短信(入库) sh $shpath/sysWeblogicMonitorRestart.sh "weblogic

    检测程序异常关闭或抛出异常窗口 关闭程序并重新打开

    总的来说,处理程序异常关闭的问题需要综合运用进程监控、异常窗口捕获以及合理的配置策略。通过这样的方法,我们可以提高程序的稳定性和用户体验,同时为开发者提供宝贵的调试信息。在实际应用中,还需要结合具体的...

    守护进程,背靠背c++实现

    一旦发现目标进程异常结束,守护进程就需要调用`exec()`系列函数重新启动目标进程。 6. 设计防杀功能: 防杀功能的关键在于设计一个互相监控的机制。可以创建两个守护进程,彼此监控对方的存在。当一个守护进程被...

    计算机蓝屏和应用程序异常退出处理办法

    计算机蓝屏和应用程序异常退出是用户在日常使用中可能遇到的两种常见问题,这些问题往往会导致工作中断,甚至可能损坏数据。下面将详细讲解处理这两种问题的方法。 首先,针对计算机蓝屏,这通常是由硬件冲突、驱动...

    系统core和java虚拟机异常退出日志设置

    系统core和java虚拟机异常退出日志设置 系统core和java虚拟机异常退出日志设置是系统管理员和开发者需要了解的重要知识点。系统核心崩溃日志和Java虚拟机崩溃日志都是非常重要的日志文件,它们可以帮助我们 debug ...

    程序崩溃自动重启以及将未捕获到的异常写退出栈

    为了解决这个问题,我们可以编写一个全局的异常处理器,该处理器在异常发生时捕获异常,并在控制台上打印详细的堆栈跟踪信息。在C++中,可以使用`set_unexpected`和`set_terminate`函数注册自定义的异常处理函数;在...

    Linux寻找和杀掉僵尸进程的命令和方法

    当一个子进程结束时,内核会保留该进程的一些信息(如退出状态)直到父进程读取为止,若此时父进程未能及时读取,子进程的状态将变成僵尸状态。僵尸进程虽然不占用CPU资源,但会占用系统中有限的进程表空间,如果...

Global site tag (gtag.js) - Google Analytics