Bagaimana cara mengetahui dari folder mana suatu proses sedang berjalan?

15

Di * nix Anda dapat menggunakan psuntuk melihat proses mana yang sedang berjalan. Tetapi jika suatu executable memiliki beberapa file homonim dalam suatu perangkat, kami tidak dapat menentukan dari mana file itu dipanggil.

Ini sedikit berbeda dari pertanyaan terakhir saya tentang hal ini. Bagaimana saya bisa tahu jalur absolut dari proses yang berjalan?

Jader Dias
sumber

Jawaban:

20

Coba ini:

ls -l /proc/<PID>/cwd
PUSAT
sumber
7

Berasal dari jawaban rom HUB:

readlink /proc/<PID>/cwd

atau bahkan

readlink /proc/$(pgrep <program_name>)/cwd
jpaugh
sumber
+1 Output dari readlinkdapat diuraikan lebih baik dalam skrip.
Marco Leogrande
2

Anda tidak bisa mengatakan di mana proses itu dipanggil dari , hanya mana saat ini . Lihatlah tautan cwd("direktori kerja saat ini") alih-alih exe.

Ignacio Vazquez-Abrams
sumber
1

Saya kira perintah ini harus bekerja. Ini sedikit solusi tetapi ini bekerja setidaknya pada mesin saya.

untuk strlist dalam $ (ps e PID); lakukan jika [$ {strlist: 0: 4} = "PWD ="]; kemudian echo $ {strlist: 4}; fi; selesai

Enrico
sumber
0

Ketika saya berlari

ps auxwwwe | grep executableName > dump
vim dump

Saya dapat mencari bagian dari jalan yang saya tahu, dan kemudian saya menemukan dari subdirektori mana perintah itu dipanggil dari

Jader Dias
sumber