Dapatkah Anda membantu saya menemukan nama pengguna PID, Beberapa kali server saya mendapat beban tinggi. Ketika saya top -c, saya bahkan tidak dapat menemukan nama pengguna PID yang menyebabkan load di server.
Kami mengalami masalah server load karena proses php massal, jadi saya punya pertanyaan ini, kami kemudian dapat menemukannya menggunakan 'lsof -p xxxx'.
Ranjithkumar T
Jawaban:
31
Saya terkejut belum ada yang memasang ini:
Coba -popsi ke psperintah.
Misalnya, jika Anda memiliki PID 1234, jalankan:
ps -u -p 1234
( -uTelah ditambahkan untuk memasukkan nama pengguna dalam output)
Anda dapat menggunakan grepatau awk, dll. Untuk mengekstrak info yang Anda inginkan.
Anda lebih cepat dari saya. Anda bangun lebih awal? Bergantung pada ps u 1234distribusi Linux, (Debian) atau hanya ps 1234(Android dengan Busybox) juga berfungsi.
ott--
5
/proc/processID/status akan memiliki informasi tentang ID pengguna yang dapat Anda gunakan untuk menemukan nama pengguna.
Jawaban:
Saya terkejut belum ada yang memasang ini:
Coba
-p
opsi keps
perintah.Misalnya, jika Anda memiliki PID
1234
, jalankan:(
-u
Telah ditambahkan untuk memasukkan nama pengguna dalam output)Anda dapat menggunakan
grep
atauawk
, dll. Untuk mengekstrak info yang Anda inginkan.sumber
ps u 1234
distribusi Linux, (Debian) atau hanyaps 1234
(Android dengan Busybox) juga berfungsi./proc/processID/status
akan memiliki informasi tentang ID pengguna yang dapat Anda gunakan untuk menemukan nama pengguna.Ini melakukan hal yang sama:
Ganti YOUR_PROCESS_ID dengan nomor ID proses Anda.
sumber
Dapatkan hanya nama pengguna dari PID:
Anda juga dapat menggabungkannya dengan a
pgrep
. Dalam contoh ini kami menunjukkan semua nama pengguna yang menjalankan beberapa.php
file:Temukan hanya satu nama pengguna yang menjalankan proses unik tertentu:
sumber
Apa yang sebenarnya kamu inginkan? Di sistem saya, jika saya menjalankan 'top -c' saya mendapatkan:
Jadi PID (processus / pengidentifikasi tugas) adalah kolom pertama, dan akun pengguna yang dijalankan oleh prosesus adalah kolom kedua
sumber
Saya pikir cara terpendek adalah:
The
/proc/<pid>/loginuid
berkas memiliki jumlah uid dari pengguna menjalankan proses;id -nu
membaca uid dari stdin dan mengembalikan nama pengguna.sumber