উত্তর:
কমান্ড লাইন:
ps -o ppid= -p 1111
ফাংশন:
ppid () { ps -p ${1:-$$} -o ppid=; }
এলিয়াস (একটি ফাংশন পছন্দনীয় ):
alias ppid='ps -o ppid= -p'
লিপি:
#!/bin/sh
pid=$1
if [ -z $pid ]
then
read -p "PID: " pid
fi
ps -p ${pid:-$$} -o ppid=
যদি কোনও পিআইডি ফাংশন বা স্ক্রিপ্টে সরবরাহ না করা হয় তবে তারা বর্তমান প্রক্রিয়ার পিপিআইডি প্রদর্শন করতে ডিফল্ট হয়।
উপনামটি ব্যবহার করতে, একটি পিআইডি সরবরাহ করতে হবে।
=সাইন অন্তত উপর OS X এর 10.8.2, প্রয়োজন নেই।
এটি আমি শিখেছি, ভুলে যাচ্ছি, পুনরায় শিখি, পুনরাবৃত্তি করি things তবে এটি দরকারী। Pstree কমান্ডের পতাকা N তে একটি পাতা সহ একটি গাছ দেখায়:
pstree -sA $(pgrep badblocks)
systemd---sudo---mkfs.ext4---badblocks
প্যারেন্ট পিড শেল ভেরিয়েবল পিপিআইডি-তে থাকে
echo $PPID
$PPIDআমার কেবলমাত্র সমস্যার সমাধান হয়েছিল যা গুগল এই পৃষ্ঠাটির উত্তর হিসাবে প্রস্তাব করেছিল।
PPIDসমস্ত প্রক্রিয়াটির প্যারেন্ট আইডস ( ) মুদ্রণ করতে , এই আদেশটি ব্যবহার করুন:
ps j
একক প্রক্রিয়ার জন্য, শুধু PID, পাস, মত: ps j 1234।
কেবলমাত্র মান বের করতে, ফিল্টার আউটপুট দ্বারা awk:
ps j | awk 'NR>1 {print $3}' # BSD ps
ps j | awk 'NR>1 {print $1}' # GNU ps
সমস্ত পিতামাতার পিআইডি তালিকা করতে, ব্যবহার করুন pstree(এটি না থাকলে এটি ইনস্টল করুন):
$ pstree -sg 1234
systemd(1)───sshd(1036)───bash(2383)───pstree(3007)
বর্তমান প্রক্রিয়াটির প্যারেন্ট পিআইডি পেতে, ব্যবহার করুন echo $$।
pstreeআমি এখানে দেখা সবচেয়ে সুন্দর এক।
ps jএটি দুর্দান্ত কারণ এটি অনেকগুলি ডিস্ট্রোতে উপলব্ধ এবং সহজেই কম্পোজেবল
/ পড়ুন / $ পিআইডি / স্থিতি পড়ুন। সহজে স্ক্রিপ্ট করা যায়:
#! / বিন / SH
পি = $ 1
যদি [-z "$ পি"]; তারপর
পড়ুন পি
ফাই
cat / proc / "$ P" / status | গ্রেপ পিপিড: | গ্রেপ -ও "[0-9] *"
grep '^PPid:' /proc/$1/status | grep -o '[0-9]*'আপনার যা দরকার তা হল। ( ইউনিক্স সরঞ্জামগুলির পক্ষে এটি করা খুব অস্বাভাবিকif [ -z ]; then read ))
echo $$ | ppid | ppid | ppid
< /some/file grep | grep | ...।
grep /some/file
$ ps -p $(ps -p $(echo $$) -o ppid=) -o comm=
tmux
আরও কিছু জটিল উদাহরণ যা বর্তমান প্রক্রিয়া শুরু করে এমন কোনও পিতামাতার কমান্ড পরীক্ষা করে যা সম্পূর্ণ কমান্ড দেখতে কম = পরিবর্তন করতে = সিএমডি = পরিবর্তন করে
এখানে একটি দ্রুত সমাধান যা কাজ করতে হবে:
ps $$
আপনার পছন্দসই topবিকল্পগুলির সাথে চালান -u username and -p PID।
এবং topপ্রেস টি কাজ করার সময় f, এটি topআউটপুটটিতে আপনি প্রদর্শন করতে চান এমন বিকল্পগুলির একটি তালিকা প্রদর্শন করে এবং প্রদর্শিত পরামিতিগুলি বড় অক্ষরে প্রদর্শিত হবে এবং যে পরামিতিগুলি ছোট অক্ষরে প্রদর্শিত হবে বা প্রদর্শিত হবে না তা প্রদর্শন করা হবে।
সুতরাং প্যারামিটারের আগে চিঠিটি প্রবেশ করে আপনি এটি সক্ষম বা অক্ষম করতে পারবেন। প্যারেন্ট প্রসেস আইডির জন্য আপনাকে প্রবেশ করতে হবে bএবং তারপরে টিপতে হবে Enter, এটি শীর্ষ আউটপুটে পিপিআইডি প্রদর্শন করবে।
htopআপনি PPIDকলাম কনফিগার করতে পারেন ।
grep PPid status |cut -f2মত মধ্যেtime(for((i=0;i<1000;i++));do grep PPid status |cut -f2 >/dev/null;done); আরও দ্রুত কিছু আছে যদি অবাক?