通过进程id如何寻找运行目录

1 背景

通过进程id如何寻找运行目录,以java进程为例。

2 流程

1 查找java 进程的pid

在Linux终端中,我们可以使用 ps 和 grep 命令来查找Java进程的PID 操作如下:

复制代码
ps -ef | grep java

ps -ef | grep java 介绍

ps -ef | grep java 是一个在Unix和Unix-like(比如Linux)操作系统中运行的命令,用于查找所有正在运行的进程中包含"java"关键词的进程。

这个命令的组成部分解释如下:

ps:是Process Status的缩写,用于显示当前系统的进程状态。

-e:表示显示所有进程。

-f:表示全格式显示进程信息。

|:管道符,用于将前一个命令的输出作为后一个命令的输入。

grep:是Global Regular Expression Print的缩写,用于查找文本中符合条件的字符串。

ps -ef | grep java 的输出将会列出所有包含"java"关键词的进程,通常会包括进程ID、用户ID、CPU使用量、内存使用量等信息。

如果你想要查找特定的关键词或进程,你可以使用grep命令的-i选项来进行不区分大小写的搜索,或者使用-w选项来只匹配整个单词。

例如,查找不区分大小写的"java"关键词进程,可以使用以下命令:

2 通过 pid 找到java进程的运行目录

复制代码
lsof -p pid123 |grep cwd

lsof -p pid123 |grep cwd 介绍

lsof -p pid123 |grep cwd 是一个用于查找特定进程(pid123)当前工作目录的命令。lsof 是一个列出当前系统打开文件的工具,-p 参数后跟进程ID用于指定我们对哪个进程感兴趣。grep 是一个文本搜索工具,cwd 是指当前工作目录。

这个命令的用途是查找进程 pid123 当前的工作目录,并且用 grep 进行过滤,只显示包含 cwd 的行。

解决方案:

首先,你需要确定你的进程ID,这里我们假设为123。

然后,你可以使用 lsof -p 123 命令列出该进程打开的所有文件和目录。

最后,你可以使用 grep 命令从列出的文件和目录中过滤出包含 cwd 的行,这行表示当前工作目录。

相关推荐
pofenx3 分钟前
使用nps创建隧道,进行内网穿透
linux·网络·内网穿透·nps
Ronin3054 分钟前
【Linux系统】单例式线程池
linux·服务器·单例模式·线程池·线程安全·死锁
desssq28 分钟前
ubuntu 18.04 泰山派编译报错
linux·运维·ubuntu
Lzc77431 分钟前
Linux的多线程
linux·linux的多线程
清风笑烟语32 分钟前
Ubuntu 24.04 搭建k8s 1.33.4
linux·ubuntu·kubernetes
Dovis(誓平步青云)1 小时前
《Linux 基础指令实战:新手入门的命令行操作核心教程(第一篇)》
linux·运维·服务器
好名字更能让你们记住我1 小时前
MYSQL数据库初阶 之 MYSQL用户管理
linux·数据库·sql·mysql·adb·数据库开发·数据库架构
半桔2 小时前
【网络编程】TCP 服务器并发编程:多进程、线程池与守护进程实践
linux·服务器·网络·c++·tcp/ip
维尔切2 小时前
Shell 脚本编程:函数
linux·运维·自动化
穷人小水滴2 小时前
胖喵必快 (pmbs): btrfs 自动快照工具 (每分钟快照)
linux·rust