আমি কীভাবে চলমান প্রক্রিয়ার পরম পথ জানতে পারি?


93

আমার যদি ডিস্কে একই অ্যাপ্লিকেশনটির একাধিক অনুলিপি থাকে এবং কেবলমাত্র একটিই চলমান থাকে, যেমন আমি দেখতে পাচ্ছি ps, অন্যদের থেকে আলাদা করার জন্য আমি কীভাবে পরম পথটি জানতে পারি ?

উত্তর:


110
% sudo ls -l /proc/PID/exe

উদাহরণ:

% পিএস -অক্সওয়ে | গ্রেপ 24466
রুট 24466 0.0 0.0 1476 280? এস 2009 0:00 sshd তদারকি করুন
% sudo ls -l / proc / 24466 / exe
lrwxrwxrwx 1 টি মূল মূল 0 ফেব্রুয়ারি 1 18:05 / ক্র / 24466 / exe -> / প্যাকেজ / অ্যাডমিন / ডিমনোলোস-0.76 / কম্যান্ড / স্যুপারভিজ

1
আমার সিস্টেমে (উবুন্টু 14.04) lsকমান্ডটি চালানোর জন্য আপনাকে সুপারউজার হতে হবে না ।
জার্নো

3
@ জার্নো ls: cannot read symbolic link /proc/28783/exe: Permission denied- এটি lsকমান্ড চালানোর বিষয়ে নয় , এটি আপনার নিজস্ব নয় এমন কোনও প্রক্রিয়া সম্পর্কিত প্রক্রিয়া সম্পর্কিত তথ্য অ্যাক্সেস করার বিষয়ে। আমার বাক্সে / proc এ তালিকাভুক্ত সমস্ত প্রক্রিয়াগুলির প্রায় 97% হ'ল মূল প্রক্রিয়া এবং অন্যগুলি 11 টি পৃথক ব্যবহারকারীর উপর বিতরণ করা হয়।
Irfy

20

ব্যবহার করুন:

pwdx $pid

এটি আপনাকে পিডের বর্তমান কার্যনির্বাহী ডিরেক্টরি দেয়, এর সম্পূর্ণ পথ নয় not

সাধারণত whichকমান্ড আপনাকে বলতে হবে যা শেল থেকে প্রার্থনা করা হচ্ছে:

#> which vlc
/usr/bin/vlc

3
এই উত্তরের আরও
উত্সাহ দেওয়া

8
@ কোকিজু না, এটি এমন নয় কারণ এটি প্রশ্নের কোনও উত্তর দেয় না। কমান্ডটি কেবল আপনাকে আদেশ দেয় যে আপনি এখন কমান্ডটি কার্যকর করলে কোন বাইনারি চালানো হবে। প্রশ্নটি ছিল "ইতিমধ্যে সেখানে কোন বাইনারি চলছে"। উদাহরণস্বরূপ আপনার কম্পিউটারে এক ডজন জেডিএস রয়েছে তা কল্পনা করুন। আপনি যদি কোন চলমান জাভা প্রক্রিয়া জানতে চান তবে এটি কোন জেডিকে নেওয়া হয়েছে, যা আপনাকে এটিতে সহায়তা করে না। এটি কেবলমাত্র আপনাকে জানায় যে এটি কোন জেডিকে থেকে নেওয়া হবে, যদি আপনি এখন এটি চালিত করেন। গৃহীত উত্তরও সঠিক one
noamik

একটি সুস্পষ্ট উপায় এই উত্তরটি ভুল: আমার মেশিনে আমি বিভিন্ন জেডিকে সংস্করণ এবং কিছু 32 বিট / 64 বিট সহ প্রক্রিয়াগুলি চালিত করি। আমি যদি প্রক্রিয়াটির জন্য সঠিক jstack / jmap সংস্করণটি সনাক্ত করতে চাই তবে উপরের উত্তরটি কার্যকর হবে না যখন স্বীকৃত উত্তরটি হবে।
ড্যানিয়েল দা কুনহা

@ কোকিজু এটি কেবলমাত্র প্রশ্নের উত্তর দেয়, "প্রক্রিয়াটির বর্তমান ওয়ার্কিং ডিরেক্টরিটি কী $pid?" সম্পাদিত পোস্টটি এখনও প্রশ্নের উত্তর দেয় না। whichকেবল বলে "যদি আদেশটি পথে চলে, তবে এটি কী?"
জন স্ট্রুড

pwdxরেডহাট x64 6.3-তে পিডের উপর নির্ভর করে প্রক্রিয়াটির অদম্য প্রোগ্রামের পরম পথটি আমাকে ফিরিয়ে দিন।
নিক দং

14

একটি উপায় হল পিএস-শেফ


5
নির্দিষ্ট পরিষেবাটির জন্য কাজ করেনি, এটি কেবল আপেক্ষিক পথ সরবরাহ করে
যাদ্দার ডায়াস

যে কমান্ডটি দিয়ে এটি শুরু হয়েছিল তার মাধ্যমে একটি প্রক্রিয়া শনাক্ত করতে আমাকে সহায়তা করেছে।
jpierson

6

1
আমার লিনাক্সগুলিতে সমস্ত সম্পূর্ণ যোগ্য পাথগুলি দেখায় না: "রুট 24466 0.0 0.0 1476 280? এস 2009 0:00 sshd" উদাহরণস্বরূপ
আকির

এটি অন্যান্য উত্তরগুলির চেয়ে আরও সঠিক ... সম্ভবত এটি দরকারী হিসাবে নয়, তবে সঠিক উত্তরও বেশি। সম্মত।
জন হান্ট

2

দ্রুত উত্তরটি হ'ল psবিকল্পগুলি বা /procফাইল সিস্টেমের তথ্য ব্যবহার করা। এটি সাধারণত কাজ করবে তবে গ্যারান্টিযুক্ত নয়। সাধারণভাবে, এর কোনও নির্দিষ্ট, গ্যারান্টিযুক্ত উত্তর নেই। উদাহরণস্বরূপ, যদি এক্সিকিউটিভ ফাইলটি কার্যকর করার সময় মুছে ফেলা হয়, যাতে ফাইলটির কোনও পথ নেই?

ইউনিক্স FAQ দেখুন আরও কিছু বিশদ, বিশেষত প্রশ্নগুলি 4.3 এবং 4.4।


2

সবাই পিআইডি জানতে চাইলে কেন? এখানে মানব-বান্ধব উপায়:

pwdx `pgrep ###process_name###`

প্রশ্নটিতে "যেমনটি আমি দেখতে পাচ্ছি ps" তে উল্লেখ করা হয়েছে, সুতরাং এটি সম্ভবত পিআইডি প্রদর্শন করবে
স্কেজ

আহ ঠিক আছে। আমি এখনও আমার ব্যবহারের ক্ষেত্রে এটির চেয়ে দ্রুত ও লাইনার হিসাবে খুঁজে পাই।
মুডবুম

1

lsof একটি বিকল্প। আপনি নীচের মতো কিছু চেষ্টা করতে পারেন:

lsof -p PROCESS_ID

এটি এক্সিকিউটেবলের আসল অবস্থান সহ প্রক্রিয়া দ্বারা খোলা সমস্ত ফাইলের তালিকা প্রদর্শন করবে। তারপরে আপনি যে তথ্যটি সন্ধান করছেন তা সন্ধান করার জন্য আরও কয়েকটি বিশ্রী, কাটা, গ্রেপ ইত্যাদি যুক্ত করা সম্ভব।

উদাহরণ হিসাবে, আমার 'জাভা' প্রক্রিয়াটি কোথা থেকে এসেছে তা সনাক্ত করার জন্য আমি নিম্নলিখিত আদেশগুলি কার্যকর করেছি:

lsof -p 12345 | awk '{মুদ্রণ $ NF}' | গ্রেপ 'জাভা $'


ইতিমধ্যে পোস্ট করা উত্তরগুলির তুলনায় এটি কীভাবে আলাদা?
পিম্প জুস IT

0

আপনি ব্যবহার করতে পারেন

readlink /proc/$(pgrep -x -U $(id -ur) APP_NAME)/exe

অথবা

find /proc/$(pgrep -x -U $(id -ur) APP_NAME)/exe -printf "%l\n"

পরম পথ পেতে। পিআইডি প্রক্রিয়া।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.