Kami dapat menginstal GNU coreutils via brew
. Tapi tidak ada ps
dalam utils . Bisakah kita menggunakan gnu ps
di OS X?
Saya ingin menggunakan GNU ps
karena memiliki lebih banyak opsi dan fitur.
macos
command-line
Sanghyun Lee
sumber
sumber
ps
ataups -ef
di terminal pada OSX? bekerja untuk saya di OSX 10.7.5 tanpa modifikasi, pada dua mesin yang berbeda. Ada di / bin / psps
karena memiliki lebih banyak opsi dan fitur.Jawaban:
Tidak ada program ps portabel. Perintah ps yang tersedia di linux, seperti yang disebutkan orang lain, dari paket "procps". Alasan mengapa ini tidak dapat porting ke OSX adalah karena kernel Linux dan OSX tidak mengekspos informasi ini dengan cara yang sama. Linux menggunakan sistem file pseudo di / proc, sedangkan OSX menggunakan fungsi sysctl. Sistem lain dapat menggunakan salah satu mekanisme tetapi menyediakan data dalam format yang berbeda, atau mungkin memerlukan program seperti ps untuk membaca langsung dari memori kernel.
Secara umum tidak ada standar untuk bagaimana informasi proses tersedia untuk program-program seperti ps dan atas; sehingga program harus dirancang untuk sistem operasi tertentu. Jika ada fitur tertentu yang hilang dari OSX ps, Anda harus menemukan program lain yang dapat melakukannya, atau menulis sendiri (lihat manual sysctl, khususnya KERN_PROC sebagai titik awal), atau ubah ps yang ada perintah untuk menambahkan fitur.
Sebagai alternatif, jika Anda bisa mendapatkan apa yang Anda butuhkan dengan mem-parsing output dari perintah ps itu sendiri, Anda mungkin dapat menulis program portabel - output dengan
-o
opsi ini cukup dapat diandalkan di seluruh platform, terutama jika Anda merujuk pada standar UNIX untuk nama kolom yang akan digunakan.sumber
/proc
file satu-satunya metode yang disediakan kernel Linux untuk mendapatkan daftar proses, atau apakah ada juga pemanggilan sistem terpisah yang menyediakan informasi itu?Tidak - karena tidak ada. Mengenai mengapa tidak ada builtin
ps
dalamcoreutils
paket GNU , lihat jawaban ini di Forum Unix & Linux.Formula alternatif terbaik yang tersedia melalui Homebrew adalah
psgrep
:Yang mengatakan, Anda masih dapat menggunakan
psgrep
untuk berperilaku sebagai OS Xps
akan. Sebagai contoh:pgrep
juga tersedia melaluibrew
, yang secara sintaksis lebih dekat denganps
, tetapi kurang efisien daripadapsgrep
:Semua menekankan milikku.
sumber
pgrep
juga merupakan bagian dari versi terbaru OS Xtype -a pgrep
pgrep is /usr/local/bin/pgrep
pgrep is /usr/bin/pgrep
proctools
paket dari MacPorts atau Homebrew menyediakanpgrep
danpkill
apa yang secara pribadi saya cari ketika saya muncul di sini.ps
bukan bagian dari GNU coreutils menurut Wikpedia . Versi yang datang dengan distribusi Linux saya tampaknya berasal dari procps , tetapi sepertinya tidak ada rumus untuk itu di homebrew. Ada rumuspstree
yang dapat memberi Anda tampilan pohon yang bagus, dan jugahtop
merupakan penampil proses yang baik.sumber