进程可以使用setproctitle
方法在运行时更新其“命令”字段。这将改变过程在几个命令中的显示方式:
$ ps 33933
PID TT STAT TIME COMMAND
33933 s000 S 0:00.52 spring server | todo-mvc | started 45 hours ago
但是,spring
不是可执行文件,这实际上是一个ruby脚本,所以我要查找的输出是/Users/rpatterson/.rvm/rubies/ruby-2.3.1/bin/ruby
。
This blog post解释了如何使用看似无记录的方法proc_pidpath
获取真实路径。活动监视器还正确显示ruby
,这对我来说足够接近,可以找到并杀死相关进程。
如何在不编译我自己的程序的情况下从命令行获取此信息?
答案 0 :(得分:0)
实际完成我的目标的一个不完整的答案是:
fuser $(which ruby) | xargs ps
这允许我识别从特定ruby
开始的进程,但可以包含误报(例如,还会列出附加的调试器)。