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


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.