লিনাক্স - একটি প্রক্রিয়ার বর্তমান ওয়ার্কিং ডিরেক্টরিটি সন্ধান করবেন?


11

আমার যদি একটি প্রসেস পিআইডি এক্স থাকে, তবে এটি কী ডিরেক্টরিতে চলছে তা আমি কীভাবে জানতে পারি? আমি ps aux | grep Xসম্পূর্ণ কমান্ড লাইনের সাথে দেখতে পাচ্ছি যে এটির সাথে যোগাযোগ করা হয়েছিল। তবে এই ক্ষেত্রে এটি ./script.sh, এবং আমি script.shএটি দেখতে চাই যে দেখতে চাই ।

উত্তর:


11

সমস্যাটি /proc/PID/exeহ'ল শেল স্ক্রিপ্টগুলির জন্য এটি শেলের অবস্থান প্রদর্শন করে। সমস্যাটি /proc/PID/cwdহ'ল প্রক্রিয়াটির বর্তমান কার্যকারী ডিরেক্টরিটি দেখায় । যদি প্রক্রিয়া ডিরেক্টরি পরিবর্তন করে তবে তা সেই সিমিলিংকের লক্ষ্যবস্তুতে প্রতিফলিত হয়।

এটি স্ক্রিপ্টটি শুরু করার সময় $ পিডাব্লুডিটি কী ছিল তা দেখায় (যেখানে আপনি "পিআইডি" দেখেন সেখানে আগ্রহী প্রক্রিয়া আইডিটি প্রতিস্থাপন করুন):

procdir=$(grep -az "\bPWD" /proc/PID/environ); echo $procdir

বা সহজভাবে:

grep -az "\bPWD" /proc/PID/environ

এটি যে কমান্ডটি শুরু করেছিল তা এটি প্রদর্শন করবে যাতে আপনি দেখতে পারেন যে কোনও আপেক্ষিক বা পরম ডিরেক্টরি ব্যবহার করা হয়েছে:

proccmd=$(grep -az PROC_NAME /proc/PID/cmdline); echo $proccmd

বা সহজভাবে:

grep -az PROC_NAME /proc/PID/cmdline

একসাথে, এগুলি আপনাকে দেখানো উচিত যে কোন স্ক্রিপ্টটি চলছে। ./আপনার যা প্রয়োজন তা দিয়ে শুরু করা এক procdir।


pwdx এর চেয়ে ভাল।
— বিয়ন্সের

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