如何终止过去 10 小时内特定用户的所有进程?

如何终止过去 10 小时内特定用户的所有进程?

我需要一个 shell 脚本来终止特定用户在过去 10 小时内的所有进程...我是初学者。但是我写了一个脚本...

#!/bin/bash
Echo “User name : “
    Echo $1
pkill -9 -u ‘id -u $1’ $(ps -eo comm,pid,etimes | awk '/^procname/ {if ($3 <36000) { print $2}}')

它是否正确?

答案1

我认为它需要一些修改,对我来说我会这样写:

   kill -9 $(ps -eo comm,uid,pid,etimes | awk '/^PROC_NAME/ {if ($4 <36000 && $2 == UID_YOU_WANT_TO_KILL ) { print $3}}')

因此 AWK 将返回 id 为 UID_YOU_WANT_TO_KILL 的用户的进程 id,其 etimes 小于 36000,名称以 PROC_NAME 开头。

尝试前请先检查:D

相关内容