ต้องการใช้ ps ef หรือ ps -ef


12

ผมเห็นมีความแตกต่างในการส่งออกระหว่างและps ef ps -efความแตกต่างนั้นคืออะไรทั้งคำสั่งถูกต้องหรือเป็นที่ต้องการ?


1
ps -ef== ps auxafaik
Dmitry Kudriavtsev

คำอธิบายที่ดีอยู่ที่นี่ - askubuntu.com/a/1021905
TomášTibenský

คำตอบ:


18

ดูman ps(หนึ่งในระบบของคุณออนไลน์สามารถมีคำอธิบายที่แตกต่างกัน)

This version of ps accepts several kinds of options:

   1   UNIX options, which may be grouped and must be preceded by a dash.
   2   BSD options, which may be grouped and must not be used with a dash.
   3   GNU long options, which are preceded by two dashes.

ดังนั้นวิธีที่ 1 ( ps ef) คือรูปแบบ BSD และหน้าคู่มือดำเนินการต่อไป

การใช้ตัวเลือก BSD สไตล์จะเพิ่มรัฐกระบวนการ (สถิติ = STAT) เพื่อเริ่มต้นการแสดงผลและแสดง args คำสั่ง (args = COMMAND) แทนชื่อปฏิบัติการ คุณสามารถลบล้างสิ่งนี้ได้ด้วยตัวแปรสภาพแวดล้อม PS_FORMAT การใช้ตัวเลือกสไตล์ BSD จะเปลี่ยนการเลือกกระบวนการเพื่อรวมกระบวนการในเทอร์มินัลอื่น (TTY) ที่คุณเป็นเจ้าของ อีกวิธีหนึ่งอาจอธิบายได้ว่าเป็นการตั้งค่าการเลือกให้เป็นชุดของกระบวนการทั้งหมดที่กรองเพื่อแยกกระบวนการที่เป็นของผู้ใช้รายอื่นหรือไม่ได้อยู่ในเทอร์มินัล เอฟเฟกต์เหล่านี้จะไม่ถูกนำมาพิจารณาเมื่อมีการอธิบายตัวเลือกว่าเป็น "เหมือนกัน" ด้านล่างดังนั้น -M จะถือว่าเหมือนกันกับ Z และอื่น ๆ

ดังนั้นทั้งสองคำสั่งที่ถูกต้อง แต่พวกเขาไม่แสดงข้อมูลเดียวกัน


20

man ps พูดว่า:

This version of ps accepts several kinds of options:

1   UNIX options, which may be grouped and must be preceded by a
    dash.
2   BSD options, which may be grouped and must not be used with a
    dash.
3   GNU long options, which are preceded by two dashes.

ดังนั้นefใช้ BSD eและfตัวเลือกและ-efใช้ Unix -eและ-fตัวเลือก เหล่านี้จะแตกต่างกัน (ส่วนSIMPLE PROCESS SELECTION, OUTPUT FORMAT CONTROLและOUTPUT MODIFIERSตามลำดับ):

   -e     Select all processes.  Identical to -A.
   -f     Do full-format listing. This option can be combined with many
          other UNIX-style options to add additional columns.  It also
          causes the command arguments to be printed.  When used with
          -L, the NLWP (number of threads) and LWP (thread ID) columns
          will be added.  See the c option, the format keyword args, and
          the format keyword comm.

   e      Show the environment after the command.

   f      ASCII art process hierarchy (forest).

เห็นได้ชัดว่าคุณไม่ได้เลือกกระบวนการทั้งหมดโดยใช้efตัวเลือก แต่ใช้รายการเริ่มต้นของกระบวนการรวมถึงการจัดรูปแบบเพิ่มเติมบางส่วน:

By default, ps selects all processes with the same effective user ID
(euid=EUID) as the current user and associated with the same terminal
as the invoker.  It displays the process ID (pid=PID), the terminal
associated with the process (tname=TTY), the cumulated CPU time in
[DD-]hh:mm:ss format (time=TIME), and the executable name (ucmd=CMD).
Output is unsorted by default.

The use of BSD-style options will add process state (stat=STAT) to
the default display and show the command args (args=COMMAND) instead
of the executable name.  You can override this with the PS_FORMAT
environment variable. The use of BSD-style options will also change
the process selection to include processes on other terminals (TTYs)
that are owned by you; alternately, this may be described as setting
the selection to be the set of all processes filtered to exclude
processes owned by other users or not on a terminal.

คุณควรใช้แบบไหน คุณต้องการทำอะไรกับเอาต์พุต

รวมทั้งดูEXAMPLESหัวข้อ (ซึ่งแสดงรายการ-efค่อนข้างเด่นชัดและไม่ใช้eตัวเลือกBSD เลย):

EXAMPLES

   To see every process on the system using standard syntax:
      ps -e
      ps -ef
      ps -eF
      ps -ely

   To see every process on the system using BSD syntax:
      ps ax
      ps axu

   To print a process tree:
      ps -ejH
      ps axjf
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.