Gunakan -o
bendera.
Untuk daftar hanya proses Anda sendiri
ps -o command
Untuk membuat daftar semua proses sistem
ps -e -o command
Ini bukan satu-satunya cara untuk membuat daftar perintah, mereka dapat dicetak dengan bendera baris perintah, atau hanya sebagai executable (yang merupakan command
pilihan apa ).
Dari komentar saya di bawah ini jawabannya:
perintah, args, dan cmd semua memberikan perintah penuh. Sebenarnya man page menyatakan perintah dan cmd adalah alias untuk args, dengan - flags disertakan. Comm memberikan nama hanya exacutable. Alias itu adalah ucmd dan ucomm. Saya salah membaca tentang opsi AIX, yang sebenarnya dapat ditentukan dengan format seperti printf,% a untuk args,% c untuk comm
Lihat man ps
untuk info lebih lanjut tentang penggunaan dan opsi format yang tersedia
Pendekatan terprogram akan sedikit berlebihan, karena ps
sudah memberi kita opsi pemformatan, tetapi bisa dilakukan dengan awk
, yang jauh berguna ketika berhadapan dengan output yang dikolomisasi.
ps aux | awk '{ for(i=1;i<=NF;i++) {if ( i >= 11 ) printf $i" "}; printf "\n" }'
Namun perlu dicatat, bahwa kode ini rusak jika nama pengguna berisi spasi, misalnya john doe
. Ini dapat diubah dengan menambahkan gsub
fungsi yang akan menghilangkan nama pengguna Anda dari ps
daftar. Namun, jika ada banyak pengguna yang masuk ke sistem, itu mungkin sulit untuk menghapus semua nama pengguna dari output. Dengan demikian, Anda dapat melihat bahwa -o
bendera jauh lebih disukai.
Catatan tambahan, sudo
tidak perlu untuk mendaftar semua prosesps
ps -eo command
&ps -eo comm
? Satu-satunya perbedaan yang saya temukan adalah dicommand
output adalah seperti:[kthreadd]
sedangkan dicomm
output adalah sebagai berikut:kthreadd
. Apakah ini menandakan sesuatu?