it-swarm-id.com

Bagaimana saya bisa melihat proses apa yang sedang berjalan?

Saya menggunakan Ubuntu Server 10.10 dan saya ingin melihat proses apa yang sedang berjalan. Saya tahu bahwa PostgreSQL berjalan di komputer saya, tetapi saya tidak dapat melihatnya dengan perintah top atau ps, jadi saya berasumsi bahwa mereka tidak menunjukkan semua proses yang sedang berjalan. Apakah ada perintah lain yang akan menunjukkan semua proses yang berjalan atau apakah ada parameter lain yang dapat saya gunakan dengan top atau ps untuk ini?

22
Jonas

Dari halaman manual ps:

-e Pilih semua proses. Identik dengan -A.

Jadi, ps -e akan menampilkan semua proses. Pilihan umum untuk "beri aku segalanya" adalah ps -ely atau ps aux, yang terakhir adalah gaya BSD. Seringkali, orang-orang kemudian mengirimkan output ini ke grep untuk mencari proses, seperti dalam jawaban xenoterracide. Untuk menghindari juga melihat grep itu sendiri di output, Anda akan sering melihat sesuatu seperti:

 ps -ef | grep [f]oo

di mana foo adalah nama proses yang Anda cari.

Namun, jika Anda mencari proses tertentu, saya sarankan menggunakan perintah pgrep jika tersedia. Saya percaya ini tersedia di Server Ubuntu. Menggunakan pgrep berarti Anda menghindari kondisi balapan yang disebutkan di atas. Ini juga menyediakan beberapa fitur lain yang akan membutuhkan tipuan grep yang semakin rumit untuk ditiru. Sintaksnya sederhana:

pgrep foo

di mana foo adalah proses yang Anda cari. Secara default, itu hanya akan menampilkan ID Proses (PID) dari proses, jika menemukannya. Lihat man pgrep untuk opsi keluaran lainnya. Saya menemukan halaman berikut ini sangat membantu:

http://mywiki.wooledge.org/ProcessManagement

26
Steven D

sudahkah kamu mencoba ps aux | grep postgres? itu benar-benar akan muncul jika postgres berjalan. Jika tidak ... bagaimana Anda tahu postgres berjalan?

(catatan: ini adalah kesalahpahaman umum bahwa itu adalah ps -aux tapi itu tidak benar)

3
xenoterracide