Làm thế nào để tìm ra từ một thư mục mà một quá trình đang chạy?


15

Trong * nix bạn có thể sử dụng psđể xem tiến trình nào đang chạy. Nhưng nếu một tệp thực thi có nhiều tệp đồng nhất trong một thiết bị, chúng ta không thể tìm ra nó được gọi từ đâu.

Điều này hơi khác với câu hỏi cuối cùng của tôi về chủ đề này. Làm thế nào tôi có thể biết đường dẫn tuyệt đối của một quy trình đang chạy?

Câu trả lời:



7

Câu trả lời của rom HUB:

readlink /proc/<PID>/cwd

hoặc thậm chí

readlink /proc/$(pgrep <program_name>)/cwd

+1 Đầu ra của readlinkcó thể được phân tích cú pháp tốt hơn trong một tập lệnh.
Marco Leogrande

2

Bạn không thể nói nơi một quá trình được gọi từ , duy nhất mà nó hiện . Nhìn vào liên kết cwd("thư mục làm việc hiện tại") thay vì exe.



1

Tôi đoán lệnh này sẽ hoạt động. Đó là một cách giải quyết nhỏ nhưng nó hoạt động ít nhất trên máy của tôi.

cho strlist trong $ (ps e PID); do if [$ {strlist: 0: 4} = "PWD ="]; sau đó lặp lại $ {strlist: 4}; fi; xong


0

Khi tôi chạy

ps auxwwwe | grep executableName > dump
vim dump

Tôi đã có thể tìm kiếm một phần của con đường tôi biết, và sau đó tôi phát hiện ra thư mục con mà lệnh được gọi từ đó

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.