【问题标题】:Kill all processes with certain name after given time在给定时间后杀死具有特定名称的所有进程
【发布时间】:2014-09-12 17:48:22
【问题描述】:

我正在尝试终止所有名称为“reg.php”且超过 60 分钟的进程。

我做了类似的事情来删除孤立的 cookie 文件 查找 /cookies/ -type f -mmin +60 -delete

基本上就是这样,但要杀死孤立的进程。

希望并感谢任何帮助。

【问题讨论】:

    标签: linux centos kill


    【解决方案1】:

    试试

    killall --older-than 1h reg.php
    

    如果您正在处理“僵尸”,请使用-9

    killall -9 --older-than 1h reg.php
    

    但请注意,在这种情况下,程序无法正常关闭。

    或者结合两种方法:

    killall --older-than 1h reg.php ; sleep 2 ; killall -9 --older-than 1h reg.php
    

    这将首先向“活动”进程发送终止信号,给它们 2 秒的时间关闭,然后杀死僵尸。

    【讨论】:

    • 您在什么操作系统/版本上?你使用什么版本的 killall (killall -V)?
    • killall (PSmisc) 22.6 | CentOS 6.5 版(最终版)
    • 您的man killall 是否提及--older-than?我认为这不是一个新功能。另外,您是否更改了答案中提供的命令行?也许忘记包含脚本名称?
    • 哇,显然 CentOS 发布了一个 7 岁的 psmisc 包:psmisc.sourceforge.net/changelog.html
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-16
    • 2021-05-08
    • 1970-01-01
    相关资源
    最近更新 更多