从 bash 中的给定位置检查哪些进程是 运行
Check which processes are running from a given location in bash
我有以下目录结构:
./folder1
-- file1.py
-- file2.py
./folder2
-- file3.py
-- file4.py
etc...
useless_file_a.py
useless_file_b.py
我正在尝试编写一个 bash
脚本来了解 file[i].py
个进程中的哪些是 运行。通过 运行,我的意思是查看作为 ps -elf
命令结果显示的进程。
我的想法是:
遍历那些 folder[i]
并列出可用的 .py
文件。对于这一步,我可以使用:
find . -type f -name "*.py" -mindepth 2
检查 运行 个与在 1.
中找到的名称匹配的进程
我知道 ps -elf
命令,我想 link 它进入第 1 步。
我正在努力想出最后一步的办法。
如果其中一个 .py
脚本不是 运行,此脚本的全部意义在于提醒我。由于可以有很多脚本和很多文件夹,我想自动化这个过程。
注意:useless_file_*.py
在pwd
中,与我无关。
通常不可能查明“脚本是否为 运行”。此信息未存储在任何地方。
您可以检查作为文件名的字符串是否在进程的命令行参数中:
for f in */*.py; do
pgrep -f "$(basename "$f")"
done
我有以下目录结构:
./folder1
-- file1.py
-- file2.py
./folder2
-- file3.py
-- file4.py
etc...
useless_file_a.py
useless_file_b.py
我正在尝试编写一个 bash
脚本来了解 file[i].py
个进程中的哪些是 运行。通过 运行,我的意思是查看作为 ps -elf
命令结果显示的进程。
我的想法是:
遍历那些
folder[i]
并列出可用的.py
文件。对于这一步,我可以使用:find . -type f -name "*.py" -mindepth 2
检查 运行 个与在 1.
中找到的名称匹配的进程我知道
ps -elf
命令,我想 link 它进入第 1 步。
我正在努力想出最后一步的办法。
如果其中一个 .py
脚本不是 运行,此脚本的全部意义在于提醒我。由于可以有很多脚本和很多文件夹,我想自动化这个过程。
注意:useless_file_*.py
在pwd
中,与我无关。
通常不可能查明“脚本是否为 运行”。此信息未存储在任何地方。
您可以检查作为文件名的字符串是否在进程的命令行参数中:
for f in */*.py; do
pgrep -f "$(basename "$f")"
done