2016-11-06 29 views
0

プロセスは、setproctitleメソッドを使用して、実行時に "コマンド"フィールドを更新できます。これは実際にRubyスクリプトで、プロセスを実際の実行可能ファイル名でリストする方法は?

$ ps 33933 
    PID TT STAT  TIME COMMAND 
33933 s000 S  0:00.52 spring server | todo-mvc | started 45 hours ago 

しかし、springが実行可能ではないので、私が探している出力は/Users/rpatterson/.rvm/rubies/ruby-2.3.1/bin/ruby次のとおりです。これは、プロセスは、いくつかのコマンドに表示方法を変更します。

This blog postは、一見文書化されていない方法proc_pidpathを使用して実際のパスを取得する方法を説明しています。アクティビティモニタにもrubyが正しく表示されています。これは、関連するプロセスを見つけて終了させるのに十分近いものです。

自分のプログラムをコンパイルせずにコマンドラインからこの情報を取得するにはどうすればよいですか?実質的に私の目標を達成

答えて

0

不完全な答えがされています:これは私が特定のrubyから開始されたプロセスを識別するのではなく、(例えば、付属のデバッガもなり、偽陽性を含めることができることができます

fuser $(which ruby) | xargs ps 

リストされている)。

関連する問題