如何找到一个陌生服务器上的grafana-server是谁启动的

在 Ubuntu 16 上,Grafana 进程本身 就是"被启动"的最终实体;

真正需要搞清楚的是:

谁把 grafana-server 拉起来的?

是 systemd?upstart?docker?还是某个手动脚本?

下面给出按优先级排查 的 4 条命令,依次执行即可定位"启动者"。


  1. 先看 systemd(Ubuntu 16 默认还用 systemd)
bash 复制代码
systemctl status grafana-server
  • 若输出里 Active: active (running) 且 Main PID 等于你看到的那个进程号 → systemd 启动的。
  • 若提示 Unit grafana-server.service could not be found. → 继续下一步。

  1. 检查是不是 SysV / Upstart 脚本
bash 复制代码
initctl status grafana-server        # Upstart
service grafana-server status        # SysV 兼容

有返回且状态为 start/running → Upstart 启动 。

仍找不到 → 继续。


  1. 看父进程是谁(排除 docker / 手动)
bash 复制代码
ps -ef | grep grafana

记下 PID,再查父 PID

bash 复制代码
ps -p <PID> -o ppid= | xargs -I{} ps -p {} -o pid,cmd

常见结果对照

父进程 cmd 含义
/sbin/init 或 /lib/systemd/systemd systemd / Upstart
docker-containe 运行在容器里,父进程是 dockerd
sudo、bash、./start.sh 手工启动

  1. 如果父进程是 dockerd → 进容器确认
bash 复制代码
docker ps | grep grafana
docker inspect --format '{{.Name}} {{.Config.Image}}' <container-id>

即可知道是哪个镜像、哪条 docker run 命令拉起的。


一句话总结
按 systemctl → initctl → ps 找父进程 → docker ps 四步 ,

30 秒内就能判定 Grafana 到底是 systemd 服务 、Upstart 任务 、docker 容器 还是手工脚本启动的。

相关推荐
Thneonl31 分钟前
全集群钟差 300 毫秒会发生什么:证书悄悄过期,日志倒流
运维·后端
金銀銅鐵31 分钟前
[Java] 借助GUI展示class文件的版本号
后端·python·ai编程
马剑威(威哥爱编程)36 分钟前
【AI全栈后端12-12】Spring Boot 3.x 到 4.x 迁移实操:Jakarta 11、Jackson 3 与 AI 2.0
java·开发语言·spring boot·后端
136096757231 小时前
一台 4 核 8G 已经跑了 6 个站点,我是怎么把第 7 个塞进去的
后端
对象存储与RustFS1 小时前
JuiceFS + 对象存储:把 S3 变成 POSIX 文件系统实测
后端·rust·开源
她的男孩1 小时前
企业接口照样拦得住:独立 Flyway、@RequiresFeature 与离线许可证
java·spring boot·后端
十年Java程序媛1 小时前
Lambda 与函数式接口|别只会复制 ()->{},底层规则和坑一次性讲清
java·spring boot·后端
yunwei371 小时前
eBPF 入门开发实践教程一:Hello World,基本框架和开发流程
linux·后端·性能优化
全栈Agent 小李1 小时前
【无标题】
前端·后端·agent·ai编程·全栈·cursor·mcp
高频因子挖掘机1 小时前
历史 K 线突然少一天?用交易日历、停牌信息和数据校验逐步排查
后端·github·api