使用 bash 终止所有 PID 大于某个整数的任务

使用 bash 终止所有 PID 大于某个整数的任务

我如何获取并终止所有 PID 大于 1000 的进程?

ps -A使用诸如和之类的命令top可以查看进程列表,但如何才能仅获取 PID?

数字比较和任务终止的逻辑实际上不是问题。问题只是为了更清楚地描述我希望完成的任务。

答案1

ps | tr -s ' ' | cut -d ' ' -f 2

将为您提供 PID 列表。cut获取由空格分隔的第二个输出字段,但在此之前我们使用tr来挤出多个空格。然后您可以通过管道将其

egrep '\d{4}\d*'

选择所有超过 1000 的数字。然后您可以将其发送到 xarg 进行终止。

1000 很容易,但对于像 32768 这样的任意数字,您可能需要使用类似的方法sed进行过滤。

答案2

你可以使用这个命令:

ps -ef | grep “你的进程” | awk'{print $2}' | grep -v'grep' | xargs kill

注意:“Your_process”将是你的“PID”

别的 :

ps -ef | grep “你的进程” | awk'{print $2}'| xargs kill

值得一试

相关内容