写一个shell脚本,kill 下面进程中名为AliYunDun的进程。root 1614 1 2 10:58 ? 00:00:01 /usr/local/aegis/aegis_client/aegis_11_37/AliYunDun root 2056 1 0 10:59 ? 00:00:00 /usr/local/aegis/aegis_update/AliYunDunUpdate root 2224 1957 0 10:59 pts/0 00:00:00 grep --color=auto AliYunDun
时间: 2023-11-22 15:54:11 浏览: 249
可以使用以下的命令来完成:
```
#!/bin/bash
# 查找名为 AliYunDun 的进程并杀掉
ps -ef | grep "AliYunDun" | grep -v "grep" | awk '{print $2}' | xargs kill -9
```
解释一下上述脚本的每一行:
1. 第一行是指定脚本使用 bash 解释器来执行。
2. 第二行是查找进程,`ps -ef` 可以列出所有进程,`grep "AliYunDun"` 可以过滤出包含 "AliYunDun" 的进程,`grep -v "grep"` 可以过滤掉 grep 进程本身,最后用 `awk '{print $2}'` 提取出进程的 PID。
3. 第三行是将 PID 传给 `kill -9` 命令,-9 表示强制杀掉进程。`xargs` 命令会将前面输出的 PID 当做参数传给 kill 命令。
相关问题
写一个shell脚本,获取tomcat的进程id,如果这个id存在,就杀掉这个进程
可以使用以下命令来获取tomcat进程的id:
```
ps -ef | grep tomcat | grep -v grep | awk '{print $2}'
```
如果返回的id存在,可以使用以下命令来杀掉进程:
```
kill -9 <进程id>
```
请注意,这些命令可能需要以root用户身份运行。
自动杀掉linux进程的shell脚本
以下是一个简单的 shell 脚本,可用于自动杀掉 Linux 进程:
```
#!/bin/bash
# 输入进程名
echo "请输入要杀死的进程名:"
read processName
# 查找进程 ID
pid=$(ps aux | grep $processName | grep -v grep | awk '{print $2}')
# 杀掉进程
if [ -z "$pid" ]; then
echo "进程 $processName 未找到"
else
echo "正在杀死进程 $processName ,进程 ID 为 $pid"
kill -9 $pid
echo "进程 $processName 已被杀死"
fi
```
脚本中,首先会要求用户输入要杀死的进程名,然后通过 `ps aux` 命令查找进程 ID,再使用 `kill` 命令杀死进程。如果未找到对应进程,则输出提示信息。请注意,杀死进程需要使用 root 权限。
阅读全文