查看服务应用是否有跑起来命令
在 Linux/Unix 系统或容器环境中,查看服务应用是否运行的常用命令如下:
---
### **1. 查看进程是否存在**
#### **通用命令(根据应用名检索)**
```bash
ps aux | grep <应用名或关键字>
# 示例:检查Nginx是否运行
ps aux | grep nginx
```
- **输出说明**:若看到相关进程(如 `nginx: worker process`),则服务正在运行。
#### **检查Java应用**
```bash
ps -ef | grep java
# 或通过jps(需JDK)
jps -l
```
---
### **2. 检查服务端口是否监听**
```bash
netstat -tulnp | grep <端口号>
# 或使用ss(更现代)
ss -tulnp | grep <端口号>
# 示例:检查8080端口
ss -tulnp | grep 8080
```
- **输出说明**:若显示 `LISTEN` 状态,则服务已启动。
---
### **3. 系统服务管理工具**
#### **Systemd(现代Linux发行版)**
```bash
systemctl status <服务名>
# 示例:检查MySQL服务
systemctl status mysql
```
- **输出说明**:`active (running)` 表示服务正在运行。
#### **SysVinit(旧版系统)**
```bash
service <服务名> status
# 示例
service nginx status
```
---
### **4. 检查容器化服务**
#### **Docker**
```bash
docker ps | grep <容器名或ID>
# 示例:检查Redis容器
docker ps | grep redis
```
- **补充命令**:
- 查看容器日志:`docker logs <容器名>`
- 进入容器检查:`docker exec -it <容器名> /bin/bash`
#### **Kubernetes**
```bash
kubectl get pods -n <命名空间>
kubectl logs <pod名> -n <命名空间>
```
---
### **5. 检查应用日志**
```bash
tail -f /var/log/<应用日志文件>
# 示例:查看Nginx错误日志
tail -f /var/log/nginx/error.log
```
---
### **6. 其他工具**
- **`lsof`**(检查文件/端口占用):
```bash
lsof -i :<端口号>
```
- **`htop`**(交互式进程监控):
```bash
htop
```
---
### **常见问题排查**
1. **端口冲突**:若端口被占用但服务未启动,使用 `lsof -i :端口号` 找出冲突进程。
2. **服务启动失败**:通过 `journalctl -u <服务名>`(Systemd)或日志文件查看错误原因。
3. **权限问题**:检查服务用户权限(如 `nginx` 用户是否有访问目录的权限)。
---
根据你的服务类型(Web应用、数据库、微服务等),选择对应的命令组合即可快速确认服务状态。