Ini berawal dari sejarah Unix yang agak berliku-liku (Wikipedia memiliki diagram yang disederhanakan , yang jauh dari lengkap). Secara khusus, untuk sementara, ada dua arus utama: Sistem V dikembangkan oleh AT&T, dan BSD dikembangkan di University of California, Berkeley. Ini sekitar awal 1980-an, jauh sebelum Linux (1991), apalagi Ubuntu (2004). Seringkali kedua arus ini membuat keputusan yang berbeda, dan bahkan hari ini Anda akan menemukan referensi sesekali untuk varian atau fitur "Sistem V" dan "BSD".
The ps
tanggal perintah kembali dari salah satu rilis pertama Unix (bukan dalam versi 1, orang halaman awal saya dapat menemukan online adalah dari versi 5 (hal.94) pada tahun 1974). Pada saat itu, ps
hanya memiliki beberapa opsi, misalnya ps a
akan menampilkan semua proses, bukan hanya pengguna, dan ps x
akan menampilkan proses tanpa terminal terpasang. Anda akan perhatikan bahwa opsinya tidak dimulai dengan -
: pada saat itu, konvensi penggunaan -
opsi tidak mendekati sistematis seperti saat ini, sebagian besar adalah perintah yang menggunakan nama file sebagai argumen normal.
Seiring waktu, berbagai helai Unix diperpanjang ps
dengan lebih banyak opsi. Varian BSD memilih untuk mempertahankan sintaksis aslinya, tanpa pimpinan -
, dan a
dan x
masih ada sampai sekarang. Varian Sistem V memilih untuk mengadopsi konvensi sintaksis -
untuk opsi, dan menggunakan huruf yang berbeda (misalnya ps -e
untuk menampilkan semua proses). Oracle (sebelumnya Sun) Solaris adalah contoh dari varian System V (Solaris juga mengirimkan ps
executable terpisah , dalam direktori yang tidak pada standarnya PATH
, untuk aplikasi yang ditulis dengan mempertimbangkan BSD).
Pada saat Linux muncul, orang-orang yang menggunakannya sering kali memiliki pengalaman satu varian Unix. Linux terkadang melakukan hal-hal dengan cara System V, kadang-kadang dengan cara BSD, kadang-kadang dengan caranya sendiri, baik berdasarkan pertimbangan teknis atau berdasarkan pengalaman dan selera siapa pun yang mengimplementasikan fitur tersebut. ps
Perintah Linux dimulai dengan opsi seperti BSD, misalnya ps ae
untuk menampilkan semua proses dan memasukkan variabel lingkungan dalam daftar. Seiring waktu (pada akhir 1990-an, saya tidak ingat persis kapan), penulis ps
opsi tambahan Linux untuk orang-orang yang terbiasa dengan Sistem V. Jadi hari ini baik ps ax
atau ps -e
akan daftar semua proses di Linux, dan bahkan ada variabel lingkungan ( PS_PERSONALITY
) untuk membuatps
berperilaku lebih seperti berbagai varian Unix lama, demi skrip lama dan orang-orang dengan kebiasaan tertentu.
Orang yang menggunakan beberapa varian Unix tidak suka bahwa mereka harus memodifikasi program dan kebiasaan mereka ketika beralih dari satu varian Unix ke varian lain. Jadi ada upaya untuk membakukan subset fungsionalitas. Ini mengarah pada standar POSIX (dipimpin oleh IEEE ), yang pada umumnya diikuti oleh Ubuntu. Edisi pertama yang ruang lingkupnya termasuk ps
perintah keluar pada tahun 1992; yang ini tidak tersedia online, tetapi edisi 1997 adalah. Untuk ps
perintah, seperti dalam banyak kasus lain, POSIX mengadopsi cara Sistem V melakukan sesuatu.
The ps
sintaks perintah standar ini adalah salah satu yang kompatibel dengan System V dan POSIX. Selain itu, sintaksis itu dapat dikatakan standar karena digunakan -
untuk memperkenalkan opsi secara default. Beberapa opsi hanya ada di salah satu dari dua sintaksis; untungnya mereka bisa dicampur dalam panggilan yang sama.
Secara umum, "BSD" vs "System V" tidak memiliki implikasi teknis. Ini merujuk pada sejarah: "BSD" adalah pilihan apa pun yang dibuat BSD pada 1980-an dan sekitar itu, "Sistem V" adalah pilihan apa pun yang dipilih AT&T dan mitra mereka (terutama Sun). "POSIX" adalah pilihan apa pun yang dibuat oleh komite standardisasi IEEE.
ps
optargs adalah berdiri di tepi jurang yang tidak diketahui manusia.