shell判断一个程序有没有运行
时间: 2023-12-19 15:04:01 浏览: 222
可以使用ps命令结合grep命令来判断一个程序是否在运行。例如,如果想要判断名为programname的程序是否在运行,可以在shell中输入以下命令:
```
ps aux | grep programname | grep -v grep
```
该命令会先使用ps命令列出当前系统中所有的进程,然后将结果通过管道符传递给grep命令进行过滤,保留包含programname字符串的行,最后再次使用grep命令,过滤掉grep命令本身的进程信息。如果输出结果中还剩下一行内容,说明名为programname的程序正在运行,否则说明没有在运行。
相关问题
编写Shell程序,判断memcache服务是否运行,若未运行,运行服务
好的,这个问题我可以直接回答。您可以使用以下命令来判断memcache服务是否运行:
```
ps -ef | grep memcached
```
如果服务正在运行,则会返回一个进程ID。如果服务未运行,则可以使用以下命令来启动服务:
```
memcached -d -m 64 -p 11211 -u root
```
这个命令会启动一个64MB大小的memcache服务,并监听11211端口,使用root用户启动。
编写Shell程序,判断memcache服务是否运行,若未运行,运行服务。
#!/bin/bash
# 判断memcached服务是否运行
ps -ef | grep memcached | grep -v grep > /dev/null
if [ $? -eq 0 ]
then
echo "memcached服务已经运行"
else
echo "memcached服务未运行,正在启动服务..."
memcached -d -m 64 -p 11211 -u root
echo "memcached服务已经启动"
fi
阅读全文