シェルスクリプトで呼び出し元プロセスの情報を表示する
やり方
子プロセス内で以下で取得できる。
ps $PPID | tail -n 1 | awk '{c="";for(i=5;i<=NF;i++) c=c $i" "; print c}'
スクリプト定義
parent.sh (親プロセス側)
# !/bin/sh
./child.sh test1 test2 test3
child.sh (子プロセス側)
# !/bin/sh
echo $*
ps $PPID | tail -n 1
ps $PPID | tail -n 1 | awk '{c="";for(i=5;i<=NF;i++) c=c $i" "; print c}'
実行例
$ ./parent.sh test test2 test3 test4
test1 test2 test3
3070289 pts/8 S+ 0:00 /bin/sh ./parent.sh test test2 test3 test4
/bin/sh ./parent.sh test test2 test3 test4
参考情報