プロセスの起動に使用される完全なコマンドラインを取得する方法


15

Eclipsedは私のためにプロセスを開始しました、そして私は使用された完全なコマンドラインを見たいです。

「ps auxwww」を試しましたが、パスを4096文字に切り詰めているようですが、PSにパスの切り捨てを停止させる方法、または別のツールを使用してフルパスを見つける方法はありますか?


うーん、おそらく答えはカーネルを再コンパイルすることですか?wtf。stackoverflow.com/questions/199130/...
アレックス・ブラック

Javaアプリケーションである私の場合、について、あなたはそれがどのように見える完全なクラスパスを取得するためにjconsoleを使用することができます
アレックス黒

ファイルにリダイレクトしてコマンドライン全体を取得することは可能ですか?
ジェームズ

1
私はそうは思わない、それが見えるように/ proc / {PID} / cmdlineをIS切り捨て4096文字、カーネル内のハードリミットセットで
アレックス・ブラック

回答:


24
cat /proc/{PID}/cmdline

{PID}は問題のプロセスのプロセスIDです。


1
/ proc / * / cmdlineには末尾の改行が含まれないため、echo $(</ proc / 7851 / cmdline)はより読みやすい出力を提供します。
バートン

4
引数 Alex Blackが投稿したスタックオーバーフローリンクを読むだけです... proc /.../ cmdlineには同じ4096文字の制限があるようです。
バートン

4

この例はjavaプロセスに関するもので、ここに追加のプロセスの詳細を表示できるツールがありますjps。試してみてください、おそらくあなたはそれを持っている-それはの一部ですJDK

基本的なpsコマンドに似ていますが、いくつかのjava-specifficsを理解しています。主な用途は、実行中のJavaプロセスを識別することです。これは、などの他の Java分析ツールで検査されjstackます。

$ jps -ml  
31302 com.intellij.rt.execution.application.AppMain com.example.Foo some.properties
26590 com.intellij.idea.Main nosplash
31597 sun.tools.jps.Jps -ml

オプションに関するmanページからの抜粋:

jps - Java Virtual Machine Process Status Tool

jps [ options ] [ hostid ]

[...]

-q  Suppress  the  output of the class name, JAR file name, and argu‐
    ments passed to the main method, producing only a list  of  local
    VM identifiers.

-m  Output the arguments passed to the main method. The output may be
    null for embedded JVMs.

-l  Output the full package name for the application's main class  or
    the full path name to the application's JAR file.

-v  Output the arguments passed to the JVM.

-V  Output  the  arguments  passed  to the JVM through the flags file
    (the   .hotspotrc   file   or   the   file   specified   by   the
    -XX:Flags=<filename> argument).

-Joption
    Pass  option  to  the  java  launcher called by jps. For example,
    -J-Xms48m sets the startup memory to 48 megabytes. It is a common
    convention  for -J to pass options to the underlying VM executing
    applications written in Java.

[...]

2

パイプを 'less'にパイプすると、左右にスクロールしても問題ないはずです:)


2
それをlessにパイプしても、切り捨ての問題は解決しません。
アレックスブラック

ハァッ、それは私のために働いた。とにかく、proc(上記で推奨)を使用することは素晴らしい解決策のように見えます:)
ejes

私が遭遇した問題は、procが4096文字に切り捨てられることでした。その制限を超える方法を見つけましたか?
アレックスブラック
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.