kkk=$(ps|grep ledd |head -n1|awk '{print $5}');若KKK=ledd则执行/etc/init.d/ledd restart;若循环10次还不行,则退出
时间: 2024-03-17 14:44:33 浏览: 16
这是一个Shell脚本语句,意思是查找进程中包含 "ledd" 的第一个进程,并获取其进程ID。如果该进程的名称为 "ledd",则重启 "ledd" 服务,否则会循环执行10次,如果10次都不行,则退出。
具体的实现代码如下:
```
#!/bin/bash
count=0
while [ $count -lt 10 ]
do
kkk=$(ps | grep "ledd" | head -n1 | awk '{print $5}')
if [ "$kkk" = "ledd" ]; then
/etc/init.d/ledd restart
echo "ledd service restarted"
break
else
echo "ledd service not found, retrying..."
count=$(expr $count + 1)
sleep 5
fi
done
if [ $count -eq 10 ]; then
echo "ledd service not restarted after 10 retries, exiting..."
exit 1
fi
```
当执行该脚本时,会先进入一个 while 循环,每次循环都会查找进程中包含 "ledd" 的第一个进程,并获取其进程ID。如果该进程的名称为 "ledd",则重启 "ledd" 服务,并跳出循环。否则会打印提示信息,继续循环执行。如果连续循环10次都没有找到 "ledd" 进程,则会打印错误信息并退出。