linux 启动程序 绑定id,linux如何根据进程ID查找启动程序的路径

昨天遇到一个问题,背景是这样的:我们工作环境不正常,使用ps命令查看,发现有程序A的两个进程状态一个是状态,一个是正常运行.由于该程序A是个通用服务程序,被拷贝成多份,分发到不同的目录中单独启动,只有各自配置不同而已,因此想知道是哪个目录的A程序处于僵死状态.

正常运行中的进程树关系如下(为了简化,只显示一部分进程):

$ ps x

PID TTY      STAT   TIME COMMAND

17279 pts/8    Ss     0:00  -bash

18618 pts/8    R+     0:00  ps xf

18283 pts/8    S       0:00  A

18284 pts/8    S       0:00  A

18321 pts/8    S       0:00 a

18322 pts/8    S       0:00 a

出问题时进程的状态为:

$ ps x

PID TTY      STAT   TIME COMMAND

17279 pts/8    Ss     0:00  -bash

18618 pts/8    R+     0:00  ps xf

18283 pts/8    Z       0:00  A

18284 pts/8    S       0:00  A

18321 pts/8    S       0:00 a

18322 pts/8    S       0:00 a

找到某进程启动路径的方法是:

1.我们可以从ps命令中得到僵死进程的PID,如上例中18283.

2.进入/proc目录下以该PID命名的目录中

3.输入ls -l ,结果中 exe链接对应的就是可执行文件的全路经

$ ls -l /proc/18283

总计 0

dr-xr-xr-x 2 qhkf qhkf 0 01-06 11:14 attr

-r-------- 1 qhkf qhkf 0 01-06 11:14 auxv

-r--r--r-- 1 qhkf qhkf 0 01-06 10:38 cmdline

-r--r--r-- 1 qhkf qhkf 0 01-06 11:14 cpuset

lrwxrwxrwx 1 qhkf qhkf 0 01-06 11:14 cwd -> /v8t/qhkf/risk_b/kssmdb

-r-------- 1 qhkf qhkf 0 01-06 11:14 environ

lrwxrwxrwx 1 qhkf qhkf 0 01-06 11:14 exe -> /v8t/qhkf/risk_b/kssmdb/A

dr-x------ 2 qhkf qhkf 0 01-06 10:38 fd

-rw-r--r-- 1 qhkf qhkf 0 01-06 11:14 loginuid

-r--r--r-- 1 qhkf qhkf 0 01-06 11:14 maps

-rw------- 1 qhkf qhkf 0 01-06 11:14 mem

-r--r--r-- 1 qhkf qhkf 0 01-06 11:14 mounts

-r-------- 1 qhkf qhkf 0 01-06 11:14 mountstats

-r--r--r-- 1 qhkf qhkf 0 01-06 11:14 numa_maps

-rw-r--r-- 1 qhkf qhkf 0 01-06 11:14 oom_adj

-r--r--r-- 1 qhkf qhkf 0 01-06 11:14 oom_score

lrwxrwxrwx 1 qhkf qhkf 0 01-06 11:14 root -> /

-r--r--r-- 1 qhkf qhkf 0 01-06 11:14 schedstat

-r-------- 1 qhkf qhkf 0 01-06 11:14 smaps

-r--r--r-- 1 qhkf qhkf 0 01-06 10:38 stat

-r--r--r-- 1 qhkf qhkf 0 01-06 11:14 statm

-r--r--r-- 1 qhkf qhkf 0 01-06 10:38 status

dr-xr-xr-x 6 qhkf qhkf 0 01-06 11:14 task

-r--r--r-- 1 qhkf qhkf 0 01-06 11:14 wchan

剩下的就是排查问题了.OVER.

http://blog.csdn.net/eijnew/article/details/6185872

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/308338.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

7-49 打印学生选课清单 (25 分)(思路+详解+map做法(一对多)+超时解决)Come baby!

一:题目 假设全校有最多40000名学生和最多2500门课程。现给出每门课的选课学生名单,要求输出每个前来查询的学生的选课清单。 输入格式: 输入的第一行是两个正整数:N(≤40000),为前来查询课表的学生总数&…

记一次批量处理数据库中的敏感信息

前言 对于一些敏感数据,往往会对其加密后再入库,这个是对数据安全性的一个最为简单的措施。最常见的莫过于手机号码和身份证号了,相信还是有不少公司对这些敏感信息是明文存储的。万一被别人发现系统漏洞,或者是被拖库&#xff0c…

修改linux路径,科学网-修改linux终端路径颜色-胡涛的博文

PuTTY或者Terminal路径默认颜色非常难看,如何修改?第一步,配置文件:命令行:dircolors -p > ~/.dircolors第二步,修改文件:使用vi打开~/.dircolors 文件,找到这一行: D…

7-50 畅通工程之局部最小花费问题 (35 分)(思路加详解)来呀兄弟们冲呀呀呀呀呀呀呀

一:题目 某地区经过对城镇交通状况的调查,得到现有城镇间快速道路的统计数据,并提出“畅通工程”的目标:使整个地区任何两个城镇间都可以实现快速交通(但不一定有直接的快速道路相连,只要互相间接通过快速…

十多位全球技术专家,为你献上近十个小时的.Net微服务介绍

.Net Conf: Focus on Microservices 是 .Net Conf 社区在 2020 年 7 月 30 日举办的线上分享活动。整个活动视频长达近 10 个小时。今天我们来看看都发生了什么。章节汇总本次分享由十多位来自全球的资深技术专家在线分享,涵盖了当前 .Net 在微服务领域的利器。包括…

向linux内核增加新的系统调用,为linux内核添加新的系统调用

为linux内核添加新的系统调用作者:李志勇更多精彩:更多精彩:开发平台:x86 ubuntu目标平台:S3C6410linux3.4.4一、 打开内核源码目录下arch/arm/kernel/calls.S文件,在389行添加:/*378 */CALL…

5G发展是绵绵秋雨 应循序渐进

现阶段5G技术成熟度有待提升当下,在行业内5G基站的短板被调侃为“覆盖、成本、功耗三个3”,也就是3倍成本,3倍功耗、1/3覆盖。就功耗来说,5G基站是4G基站功耗的3倍左右。中国移动董事长杨杰就在GTI国际产业峰会表示,“…

7-52 两个有序链表序列的交集 (20 分)(思路加详解尾插法)come Boby!

一:题目 已知两个非降序链表序列S1与S2,设计函数构造出S1与S2的交集新链表S3。 输入格式: 输入分两行,分别在每行给出由若干个正整数构成的非降序序列,用−1表示序列的结尾(−1不属于这个序列)。数字用空…

linux可疑程序,linux可疑程序追踪

今天的主角是旁边的服务器,学姐的Fedora。发生的情况和我的那台ubuntu类似。(看来是一起被黑了)连接虽挡,进程犹在其实昨天已经发现学姐的系统出问题了,采取的措施和我那台一样,iptables直接DROP和可疑IP的连接。今天学姐说&#…

明源云创CI/CD技术演进

源宝导读:在敏捷迭代的过程中需要能够快速的把开发的代码集成打包部署到各个环节对应的环境中。为了高效稳定的完成这个工作,我们引入了DevOps实践理论,并形成了配套的CI/CD工具。本文将介绍云创的CI/CD工具如何演进的过程。一 、传统构建在最…

7-51 两个有序链表序列的合并 (20 分)(vector做法)

一 :题目 、已知两个非降序链表序列S1与S2,设计函数构造出S1与S2合并后的新的非降序链表S3。 输入格式: 输入分两行,分别在每行给出由若干个正整数构成的非降序序列,用−1表示序列的结尾(−1不属于这个序列&#xff…

linux qt4卸载,linux卸载QT4和安装QT5的方法

由于项目中需要用到QT的程序,因此安装QT5的软件支持库和QT开发环境是必须的:apt-get insatall qt5-defaultapt-get insatall qt-creatorQT5的库和QT Creator开发环境是独立运行的,如果QT Creator缺少QT5的库则程序写好了没法编译;…

7-53 两个有序序列的中位数 (25 分)(思路加详解)用STL容器中的set容器的自动去重过不去

一:题目 已知有两个等长的非降序序列S1, S2, 设计函数求S1与S2并集的中位数。有序序列A 0 ​ ,A 1 ​ ,⋯,A N−1 ​ 的中位数指A (N−1)/2 ​ 的值,即第⌊(N1)/2⌋个数(A 0 ​ 为第1个数)。 输入格式: 输入分三行。第一行给出序列的公共长…

Blazor带我重玩前端(五)

概述本文主要讨论Blazor事件内容,由于blazor事件部分很多,所以会分成上下两篇,本文为第一篇,后续会有第二篇。我们可以视组件是一个类,我们先看一下前文所说的Index.Razor页面生成的C#代码。在此,先补充一下…

请问在linux应该如何清除客户端本地dns缓存呢???,linux下清空dns缓存的方法-Ubuntu清空本地dns缓存...

linux Ubuntu下清空dns缓存的方法linux 设置Ubuntu DNS缓存,加速打开网页的速度大多数的 DNS 客户端会把域名解析的结果缓存到本地,这样可以提升对于同一个地址的访问速度。当您打开一个单页面的时候,通常会有多次对同一个域名的访问请求。基…

关于TensorFlow开发者证书,你想要的资源都在这里!

今天是TensorFlow开发者证书的一个里程碑,全球已经有500位开发者通过考试并顺利拿到了 TensorFlow Certificate。我也有幸在各位大佬的指点下,顺利通过考试,成为国内第7位拿到 TensorFlow Certificate 的开发者。按照Google官网的数据&#…

java中nextLine(),读取换行符的解决

一:问题描述 当输入完第一值后,就未能输入后来的字符串 package com.wyj.two;import java.util.Scanner;public class text {public static void main(String[] args) {Scanner in new Scanner(System.in);int temp in.nextInt();System.out.println…

linux 从不兼容的指针类型,警告:从不兼容的指针类型初始化

大家好,我已经触摸C了,所以我真的生锈了。我写了一个小程序来创建一个使用两个动态数组的矩阵。但是,我收到这个警告,我不明白为什么?我想我不太清楚指向指针的指针。有人能帮我指出我的问题在哪里吗?谢谢。…

Kubernetes 在知名互联网公司的(dotnet)落地实践

容器化背景本来生活网(benlai.com)是一家生鲜电商平台,公司很早就停止了烧钱模式,开始追求盈利。既然要把利润最大化,那就要开源节流,作为技术可以在省钱的方面想想办法。我们的生产环境是由 IDC 机房的 10…

Java银行开户,取钱,存钱,查询余额,退出。。。。。

一:上码 package com.wyj.two;import java.util.Scanner;/*** 封装的练习*/ public class Demo8 {public static void main(String[] args) {Scanner in new Scanner(System.in);Account account new Account();System.out.println("欢迎来到杰哥银行"…