如何找到一个陌生服务器上的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/runningUpstart 启动

仍找不到 → 继续。


  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
sudobash./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 容器 还是手工脚本启动的。

相关推荐
聆风吟º3 分钟前
【Spring Boot 报错已解决】Spring Boot项目启动报错 “Main method not found“ 的全面分析与解决方案
android·spring boot·后端
Rover.x6 分钟前
Arthas内存泄露排查
java·后端
艺杯羹9 分钟前
掌握Spring Boot配置艺术:从YAML基础到实战进阶
java·spring boot·后端·yaml
喵叔哟10 分钟前
12.云平台部署
后端·.netcore
rannn_11139 分钟前
【SQL题解】力扣高频 SQL 50题|DAY1
后端·sql·题解
IT_陈寒43 分钟前
JavaScript性能优化:7个V8引擎内部原理帮你减少90%内存泄漏的实战技巧
前端·人工智能·后端
JaguarJack1 小时前
当遇见 CatchAdmin V5-模块化设计重新定义 Laravel 后台开发
后端·php
Qiuner1 小时前
Spring Boot AOP(三) 通知执行链源码解析
java·spring boot·后端
羑悻的小杀马特1 小时前
【Linux篇章】再续传输层协议TCP:用技术隐喻重构网络世界的底层逻辑,用算法演绎‘网络因果律’的终极推演(通俗理解TCP协议,这一篇就够了)!
linux·网络·后端·tcp/ip·tcp协议
BingoGo1 小时前
当遇见 CatchAdmin V5-模块化设计重新定义 Laravel 后台开发
后端·php