awk親プロセスのPIDに基づいてすべてのサブプロセスPIDを取得


特定のプロセスのPIDと、bash、PID 2971などのプログラム名を知っている場合は、サブプロセスを印刷する必要があります.
 
すべてのbash関連プロセスが次の場合:
[user@localhost ~]$ ps -ef|grep bash user      2986  2971  0 21:42 pts/0    00:00:00 bash user      3368  2971  0 21:59 pts/1    00:00:00 bash root     15083  2165  0 23:13 ?        00:00:00/bin/bash/usr/bin/run-parts/etc/cron.monthly root     15087 15083  0 23:13 ?        00:00:00/bin/bash/etc/cron.monthly/0anacron
 
 
ファイルを保存subpid
#! /bin/sh
input="$@"
pids=`ps -ef|grep bash|awk '{if('$input'==$3){print $2}}'`
#  '$input'        。   awk     ,        。
#     grep bash   grep ${input},            。
for pid in ${pids}
do
  echo ${pid}
done

terminalに次のように入力します.
[user@localhost ~]$ chmod u+x ./subpid
[user@localhost ~]$ ./subpid 2971 2986 3368
 
 
また、home_king大侠の
http://www.linuxsir.org/bbs/showthread.php?s=&threadid=99465
awkが外部変数を参照する6つの方法:1.awk -v awkvar=$extvar ... #変数の役割ドメインをBEGIN{}2に拡張する.awk''"awkvar=$extvar"filename#BEGINセグメントは使用できません.awk式で'$extvar'4を使用します.モード参照(正規表現で外部変数を参照)'"$extvar"'5.外部配列(BEGINセグメント処理用)awk-f'BEGIN{for(i=1;i