Làm thế nào để có được dòng lệnh đầy đủ được sử dụng để khởi chạy một quy trình


15

Eclipsed đã khởi chạy một quy trình cho tôi và tôi muốn xem toàn bộ dòng lệnh được sử dụng.

Tôi đã thử "ps auxwww", nhưng dường như cắt ngắn đường dẫn thành 4096 ký tự, có cách nào để PS dừng cắt đường dẫn hoặc sử dụng công cụ khác để tìm đường dẫn đầy đủ không?


Hmm, có lẽ câu trả lời là biên dịch lại kernel? wtf. stackoverflow.com/questions/199130/ Mạnh
Alex Black

Đối với trường hợp của tôi, đó là một ứng dụng java, bạn có thể sử dụng jconsole để có được đường dẫn đầy đủ giống như
Alex Black

Có thể chuyển hướng nó đến một tập tin và nhận được toàn bộ dòng lệnh?
James

1
Tôi không nghĩ vậy, có vẻ như / Proc / {PID} / cmdline bị cắt bớt ở 4096 ký tự, giới hạn cứng được đặt trong kernel
Alex Black

Câu trả lời:


24
cat /proc/{PID}/cmdline

Trong đó {PID} là ID tiến trình của quy trình được đề cập.


1
/ Proc / * / cmdline không chứa một dòng mới, do đó echo $ (</ Proc / 7851 / cmdline) cho đầu ra rõ ràng hơn.
Barton Chittenden

4
Luận điểm chỉ cần đọc liên kết tràn ngăn xếp mà Alex Black đã đăng ... có vẻ như Proc /.../ cmdline có cùng giới hạn 4096 ký tự.
Barton Chittenden

4

Ví dụ là về một javaquy trình, đây là một công cụ có thể hiển thị một số chi tiết quy trình bổ sung : jps. Hãy thử, bạn có thể có nó - đó là một phần củaJDK

Nó tương tự như một pslệnh cơ bản - nhưng đánh giá thấp một số đặc tả java. Việc sử dụng chính là xác định các quá trình java đang chạy, sau đó được kiểm tra bằng các công cụ phân tích java khác , như thế nào 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

Một trích xuất từ ​​trang man liên quan đến các tùy chọn:

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

chuyển nó thành 'ít' bạn sẽ không gặp vấn đề gì khi cuộn sang trái và phải :)


2
đưa nó vào ít hơn không giải quyết được vấn đề cắt ngắn.
Alex Black

huh, điều đó làm việc cho tôi. dù sao, có vẻ như sử dụng Proc (được đề xuất ở trên) có vẻ như là một giải pháp tuyệt vời :)
ejes

Vấn đề tôi gặp phải là Proc bị cắt ngắn tới 4096 ký tự, bạn đã tìm được cách vượt qua giới hạn đó chưa?
Alex Black
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.