Apakah ada cara untuk mengetahui lokasi direktori / disk proses dimulai? Saya menyadari / proc mount tetapi tidak benar-benar ke mana harus mencari ke dalamnya.
Apakah ada cara untuk mengetahui lokasi direktori / disk proses dimulai? Saya menyadari / proc mount tetapi tidak benar-benar ke mana harus mencari ke dalamnya.
Jawaban:
The /proccara akan memeriksa exelink pada direktori yang sesuai dengan pid.
Mari kita ambil contoh dengan update-notifier:
Temukan pid, yaitu 15421 dalam contoh ini:
egil@gud:~$ ps x | grep update-notifier
2405 pts/4 S+ 0:00 grep update-notifier
15421 ? Sl 0:00 update-notifier
Cari tautan simbolis:
egil@gud:~$ file /proc/15421/exe
/proc/15421/exe: symbolic link to `/usr/bin/update-notifier'
Mungkin whichitu yang Anda cari. Misalnya, di sistem saya
which firefox
kembali
/usr/bin/firefox
Lihat juga Temukan Jalur Aplikasi yang Berjalan di Solaris, Ubuntu, Suse atau Redhat Linux .
whichitu keren, tetapi hanya mengembalikan program dalam $ PATH Anda. Jika saya menjalankan RandomProgramIDownloadedToErisKnowsWhere.bin, ini tidak akan banyak berguna.
Memberikan ID proses yang tersedia, Anda dapat menggunakan:
readlink -f /proc/$pid/exe
(ganti $piddengan ID proses suatu proses)
Jika prosesnya bukan milik Anda, Anda harus meletakkannya sudodi depannya.
Contoh untuk menentukan lokasi perintah firefox:
Output dari ps ax -o pid,cmd | grep firefox:
22831 grep --color=auto firefox
28179 /usr/lib/firefox-4.0.1/firefox-bin
28179 adalah ID proses, jadi Anda harus menjalankan:
readlink -f /proc/28179/exe
yang keluaran:
/usr/bin/firefox
/proc/$pid/exe, jika biner terhapus secara tidak sengaja, Anda dapat memulihkannya dengan:dd if=/proc/$pid/exe of=restored-binary
Tekan Ctrl+ Alt+ Tuntuk pergi ke terminal dan ketik:
ls -al /proc/{pid}/fd
dan kemudian periksa hasilnya
Ini akan mencantumkan semua file yang terkait dengan proses Anda ...
Semua perintah dalam jawaban lain baik, tetapi Anda bisa melakukan lebih banyak lagi - melihat bagaimana beberapa proses telah benar-benar dijalankan sebelum sampai ke daftar proses.
Jalankan di terminal:
top
Dan saat sedang berjalan, tekan keyboard Cdan Anda akan mendapatkan perintah dari proses yang dijalankan.