Shell脚本,它将PID作为输入并获取与每个PID关联的线程并将其写入文件。有人可以帮忙或指导吗?

时间:2017-10-25 11:00:44

标签: bash shell

Shell脚本,它将PID作为输入并获取与每个PID关联的线程并将其写入文件。有人可以帮忙或指导吗?

我正在使用top -H -b -n 1 | grep java > /path/top.log来捕获PID并将它们添加到top.log文件中

此外,我认为top -H -p <PID>可以帮助我获取与特定PID相关联的主题。

如何使用shell脚本自动化它?

3 个答案:

答案 0 :(得分:2)

ps -p <PID> -o cmd

并看到pid:

pgrep java

答案 1 :(得分:2)

根据名称获取流程名称:

pgrep java

使用/ proc文件系统(在linux内核上)获取线程

ls /proc/$(pgrep java)/task

如果你有几个java PID,请使用for循环:

for i in $(pgrep java); do echo $i; ls /proc/$i/task; echo; done

信息:man 5 proc

  

/ proc / [pid] / task(自Linux 2.6.0-test6起)

     

这是一个目录,其中包含进程中每个线程的一个子目录。

答案 2 :(得分:1)

  

我正在使用top -H -b -n 1 | grep java > /path/top.log来捕获   PID并将其添加到top.log文件中

如果您只想要所有java个帖子:ps -LCjava