Saya menggunakan dempul untuk menghubungkan server linux saya di mana situs saya berada. Saya dapat menjalankan
# ps aux | less
untuk menunjukkan proses yang sedang berjalan. Tapi saya ingin menampilkan file mana yang menjalankan proses ini?
Saya juga sudah mencoba
# ps aux | grep <pid>
Tetapi mendapatkan kesalahan ini:
-bash: syntax error near unexpected token `newline'
Apa cara yang benar untuk melakukannya?
linux
process
open-files
tepang
sumber
sumber
grep <pid>
, Anda seharusnya mengganti<pid>
dengan id proses Anda yang sebenarnya (ini adalah angka).<pid>
hanyalah pengganti, bukan sesuatu yang harus Anda ketik.Jawaban:
ps aux | grep <pid>
bukan perintah shell. Notasi<pid>
adalah konvensi umum yang berarti "letakkan PID di sana". Misalnya, jika PID 1234, Anda akan menjalankanps aux | grep 1234
. Ini bukan perintah yang sangat berguna, Anda mungkin juga menjalankannyaps u 1234
.Pertanyaan Anda tidak terlalu jelas. Apa yang Anda maksud dengan "dengan nama file"? Jika Anda ingin melihat apa yang dapat dieksekusi proses 1234 berjalan:
Jika Anda ingin melihat file apa yang telah dibuka proses:
Jika Anda ingin melihat baris perintah lengkap dengan argumen:
Jika Anda lebih suka menggunakan perintah,
lsof -p1234
tunjukkan semua file yang prosesnya telah buka.ps uww 1234
menunjukkan berbagai informasi tentang proses 1234 termasuk baris perintah penuh.sumber
coba lakukan hal berikut:
sumber
Pertama-tama,
ps aux | grep <PID>
berguna ketika Anda ingin menunjukkan detail untuk proses tertentu yangPID
(Pengidentifikasi Proses) diwakili oleh<PID>
.Misalnya (
ps aux | grep 'firefox\|USER'
berarti hanya mencetak garis yang mengandungfirefox
atauUSER
):Jadi, PID untuk
firefox
instance saya adalah 9021. Jadi, untuk menggunakan perintah yang Anda coba jalankan, saya akan ganti<PID>
dengan9021
:Sekarang, saya tidak yakin apa yang Anda maksud dengan "menampilkan file mana yang menjalankan proses ini". Jika Anda bermaksud menampilkan file mana yang digunakan proses ini,
ps aux
adalah salah satu cara untuk melakukannya. Katakanlah saya telah membuka file/usr/share/doc/nano/faq.html
menggunakan perintah ini:Saya bisa melihat file mana yang
firefox
dibuka menggunakanps
:File yang dibuka ditampilkan sebagai salah satu argumen yang diteruskan ke firefox. Perhatikan bahwa PID berbeda (sekarang
31763
alih-alih9021
) itu karena setiap program yang berjalan memiliki PID uniknya sendiri.Perintah lain yang bermanfaat adalah
top
. Jika Anda menjalankannya dengan-c
sakelar, ia akan menampilkan argumen yang diteruskan ke perintah, dan dengan-u <your user>
itu hanya akan menunjukkan proses yang dimulai dengan nama pengguna Anda (ganti<your user>
dengan nama pengguna Anda yang sebenarnya):Ini adalah output pada mesin lokal saya (pengguna
terdon
hanya menjalankan dua proses):Untuk penjelasan tentang informasi yang ditunjukkan oleh
top
, lihat jawaban saya untuk pertanyaan terkait pada SU.sumber
beberapa karakter di bawah shell adalah untuk tujuan khusus seperti <>? "; ...
grep PID tidak berguna karena PID adalah id proses dan grep akan menemukan numerik yang sama ...
sumber