Làm thế nào để có được chức năng ps linux cơ bản trong mac?


1

Trong linux cơ bản ps lệnh chỉ hiển thị thông tin rất cơ bản về các tiến trình đang chạy trong cùng một thiết bị đầu cuối.

Ví dụ:

[root@localhost ~]# sleep 100 &
[1] 4071
[root@localhost ~]# ps
  PID TTY          TIME CMD
 4025 pts/2    00:00:00 bash
 4071 pts/2    00:00:00 sleep
 4078 pts/2    00:00:00 ps
[root@localhost ~]# 

Cách để đạt được cùng một đầu ra đơn giản trong mac là gì?

Các ps không có bất kỳ tùy chọn nào trong mac, in ra nhiều thông tin hơn các tiến trình đang chạy trong cùng một thiết bị đầu cuối.


Rõ ràng là có không có cổng ps từ linux đến mac vì một lý do tốt


Về ps mà tôi có: Chạy El Capitan 10.11.6

$ which -a ps
/bin/ps 



$ ps --version
ps: illegal option -- -
usage: ps [-AaCcEefhjlMmrSTvwXx] [-O fmt | -o fmt] [-G gid[,gid...]]
          [-g grp[,grp...]] [-u [uid,uid...]]
          [-p pid[,pid...]] [-t tty[,tty...]] [-U user[,user...]]
       ps [-L]

Một số ví dụ đầu ra

$ /bin/ps | wc -l
          69

$ ps | grep iTerm
 2462 ttys000    0:00.20 /Applications/iTerm.app/Contents/MacOS/iTerm2 --server /usr/bin/login -fpl hbaba /Applications/iTerm.app/Contents/MacOS/iTerm2 --launch_shell
 4157 ttys001    0:00.19 /Applications/iTerm.app/Contents/MacOS/iTerm2 --server /usr/bin/login -fpl hbaba /Applications/iTerm.app/Contents/MacOS/iTerm2 --launch_shell
 4241 ttys002    0:00.20 /Applications/iTerm.app/Contents/MacOS/iTerm2 --server /usr/bin/login -fpl hbaba /Applications/iTerm.app/Contents/MacOS/iTerm2 --launch_shell
 4296 ttys003    0:00.20 /Applications/iTerm.app/Contents/MacOS/iTerm2 --server /usr/bin/login -fpl hbaba /Applications/iTerm.app/Contents/MacOS/iTerm2 --launch_shell
 4380 ttys004    0:00.20 /Applications/iTerm.app/Contents/MacOS/iTerm2 --server /usr/bin/login -fpl hbaba /Applications/iTerm.app/Contents/MacOS/iTerm2 --launch_shell
 4456 ttys005    0:00.21 /Applications/iTerm.app/Contents/MacOS/iTerm2 --server /usr/bin/login -fpl hbaba /Applications/iTerm.app/Contents/MacOS/iTerm2 --launch_shell 

Có lẽ bạn có thể thêm một ví dụ về đầu ra ps của bạn từ macOS?
grg

Câu trả lời:


5

Tôi thu thập mối quan tâm là phiên bản MacOS của ps tuân theo các quy ước BSD và hiển thị tất cả các quy trình của bạn được liên kết với bất kì thiết bị đầu cuối điều khiển. Linux ps tuân theo các quy ước của Hệ thống V / POSIX và hiển thị các quy trình của bạn trên hiện hành thiết bị đầu cuối điều khiển.

Để sao chép hành vi POSIX, chỉ cần chạy ps -T.


2

/ bin / ps trên macOS cũng cung cấp kiểu đầu ra giống như ví dụ của bạn cho tôi.

$ sleep 100 &
[1] 22261
$ ps
  PID TTY           TIME CMD
22124 ttys000    0:00.14 bash
22261 ttys000    0:00.00 sleep 100
$

Kiểm tra xem bạn có bất kỳ bí danh nào được thiết lập không (chạy \ps ) và đảm bảo rằng nó / bin / ps mà bạn đang chạy.


Làm ps --version in cái gì cho bạn?
Hakan Baba

Tôi đã cập nhật câu hỏi của mình để cung cấp thêm một số thông tin về ps
Hakan Baba

@ Đức ps: illegal option -- -
grg
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.