linux - 如何查看哪个路径已经在运行进程?

标签 linux bash process path pid

一开始为我的英语道歉。

我在服务器上有一个正在运行的进程,当我执行时:

ps -aux | grep script.sh

我得到这样的结果:

root     28104  0.0  0.0 106096  1220 pts/7    S+   08:27   0:00 /bin/bash ./script.sh

但是这个脚本是从例如运行的。/home/user/my/program/script.sh

那么,我如何才能获得脚本运行位置的完整路径?我有许多名称完全相同的脚本,但它们从不同的位置运行,我需要知道给定脚本的运行位置。

感谢回复!

最佳答案

尝试以下脚本:

for each in `pidof script.sh`
do
   readlink /proc/$each/cwd
done

这将找到所有正在运行的 script.sh 脚本的 pid.s,并为/proc 找到相应的 cwd(当前工作目录)。

关于linux - 如何查看哪个路径已经在运行进程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26038005/

相关文章:

c# - 为什么在 DLL 文件中启动的进程在使用控制台应用程序进行测试时有效,但在被另一个 DLL 文件调用时却无效?

c - C 中的进程树层次结构

linux - 对目录中的文件使用 wc 后排序

bash - LINUX - grep 并注释掉来自 fstab 的行

linux - 如何创建配置脚本?

linux - 无法从 shell 脚本中更改目录

c# - 打破从 C# 开始的进程

linux - 在开发环境中始终使用 'root' 用户是一种好习惯吗?

linux - 哪个 API 在 Linux 中提供无线网络通知?

python - 如何增加使用 'timeout' 命令运行的进程的超时限制