Sib*_*ing 3 process open-files
这个问题不是这个问题的重复找出正在运行的进程的当前工作目录?,因为写入目录可以与工作目录不同。
例如,我通过my_script.sh
在 ~/ 中运行两次(一个接一个)来启动两个进程。
在 中my_script.sh
,我已将输出写入名称为时间戳的文件夹。因此,尽管工作目录相同,但两个进程实际上写入不同的目录,例如~/1212_000001/
和~/1212_000003/
。(第一个进程在 12 月 12 日 00:00:01 开始,第二个进程在 2 秒后开始)
链接问题中的解决方案为我返回~/
了两个进程的相同结果,因此无法达到我的目的。
怎么做?
这取决于脚本的编写方式:
my_script.sh > ~/1212_000001/some_file
),您可以使用lsof -p <script-pid>
并且您将在输出目录中看到打开的文件ps axjf
'的输出将向您显示脚本启动的子进程的 pid 依赖项,这可能会立即在命令参数中为您提供信息,或者允许您lsof -p <sub-process-pid>
在子进程上运行。当然,如果这种情况发生在很短的时间内,则此方法将不适用。
您还可以使用“strace”命令并查找“open”调用。
归档时间: |
|
查看次数: |
1813 次 |
最近记录: |