ম্যাক ওএস এক্সে কোনও প্রক্রিয়া শুরু করার জন্য ব্যবহৃত কমান্ড লাইনটি ধরা কি সম্ভব?
ps -p <pid> -o args=
ps -p <pid> -o command=
ম্যাক ওএস এক্সে কোনও প্রক্রিয়া শুরু করার জন্য ব্যবহৃত কমান্ড লাইনটি ধরা কি সম্ভব?
ps -p <pid> -o args=
ps -p <pid> -o command=
উত্তর:
ps ax
সমস্ত চলমান প্রক্রিয়া কমান্ড লাইন প্রদর্শন করে; আপনি যে পিড চান তার জন্য গ্রেপ করতে পারেন
কি:
~$ ps ax | grep "ntp"
57 ?? Ss 0:04.66 /usr/sbin/ntpd -c /private/etc/ntp.conf -n
3104 s000 S+ 0:00.00 grep ntp
আপনার যা প্রয়োজন তা করুন (আপনার আগ্রহী প্রোগ্রামটি এনটিপি পরিবর্তন করুন)? এটি সাধারণত চলমান প্রক্রিয়াগুলির কমান্ড-লাইন আর্গুমেন্ট দেয় (উদাহরণস্বরূপ, সিস্টেম ডেমন চালানোর সময় লঞ্চ কী ব্যবহার করেছিল তা পরীক্ষা করতে ব্যবহার করি)।
cat /proc/$PROCESSNUMBER/cmdline | tr '\0' '\n'
যদিও এটি লিনাক্স নির্দিষ্ট, এটি $PROCESSNUMBER
কার্নেল ( /proc/$PROCESSNUMBER/cmdline
অংশ) থেকে সরাসরি প্রক্রিয়াটির কমান্ডলাইন পেয়েছে এবং argument tr -token
0 এর নতুন লাইনে ( replace n) অনুবাদ করে প্রতিটি যুক্তিকে একটি পৃথক লাইনে রেখে পাঠযোগ্য করে তোলে ।
এই লাইনটি কেবল তখনই কাজ করে যদি আপনি চলমান প্রক্রিয়াটির একটি প্রকৃত প্রক্রিয়া সংখ্যা (আপনি কমান্ডটি চালিয়ে একটি সন্ধান করতে পারেন ps -ef
) $ PROCESSNUMBER অংশে রেখে দেন!
procfs
)
xargs -0 < /proc/PID/cmdline
ps --pid $PID -o args=
যাইহোক, আমি এটিই ব্যবহার করি ...