shell脚本查询进程, 存在则kill掉
时间: 2023-02-01 21:59:35 浏览: 400
这是一个在 shell 脚本中查询进程并结束该进程的示例:
```
# 查询进程
process=`ps -ef | grep "process_name" | grep -v grep | awk '{print $2}'`
# 如果进程存在,则结束该进程
if [[ -n "$process" ]]; then
kill $process
fi
```
这段代码首先使用 `ps -ef` 查询系统中所有正在运行的进程,然后使用 `grep` 命令筛选出名为 "process_name" 的进程。最后,使用 `awk` 命令获取该进程的进程号(PID),并将其存储在变量 `process` 中。
然后,使用 `if` 语句判断变量 `process` 是否包含值,如果包含值,则表示找到了名为 "process_name" 的进程,此时就可以使用 `kill` 命令结束该进程。
相关问题
Shell脚本查看进程最多的前十个,并kill掉
可以使用以下命令查看进程最多的前十个:
```
ps aux | awk '{print $11}' | sort | uniq -c | sort -nr | head -n 10
```
如果要 kill 掉这些进程,可以在命令末尾加上 `| xargs kill`,完整命令如下:
```
ps aux | awk '{print $11}' | sort | uniq -c | sort -nr | head -n 10 | awk '{print $2}' | xargs kill
```
请注意,kill 命令会强制终止进程,可能会导致数据丢失或其他问题,请谨慎使用。
使用shell脚本 查询 es进程 过滤出来进程号 并执行kill命令 进行停止 代码示例
以下是使用 shell 脚本查询并停止 ES 进程的示例代码:
```
#!/bin/bash
# 执行命令查询 ES 进程
pid=$(ps aux | grep elasticsearch | grep -v grep | awk '{print $2}')
# 判断进程号是否存在
if [ -z "$pid" ]; then
echo "ES 进程未运行"
else
echo "ES 进程号为: " $pid
# 停止 ES 进程
kill $pid
echo "ES 进程已停止"
fi
```
请注意,该代码仅适用于 Linux 系统,如果您使用的是其他操作系统,请根据具体情况进行修改。
阅读全文