我需要一个 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