コマンドプロンプトからスクリプトを起動すると、シェルはそのスクリプトのサブプロセスを生成します。ターミナルレベルのプロセスとその子との関係をps
ツリースタイルの出力で使用して示したいと思います。
これどうやってするの?
今まで試したこと
ファイル: script.sh
#!/bin/bash
ps -f -p$1
次に、ターミナルシェルのプロセスIDを渡して、コマンドラインからスクリプトを呼び出します。
$ ./script.sh $$
私が欲しいのはこのようなものです
- トップレベル(端末)シェルプロセス
- ./script.sh
ps
コマンド自体のプロセス
USER PID [..]
ubuntu 123 -bash
ubuntu 1234 \_ bash ./script.sh
ubuntu 12345 \_ ps auxf
私が得ているものは:
PID TTY STAT TIME COMMAND
14492 pts/24 Ss 0:00 -bash
@muru私が試みたが
—
the_velour_fog
pstree
、意味のある出力を生成することができなかった。ちょうど私が探していたものを正確にpstree $$
生成bash--pstree
できなかったと思う。
あなたが探しているものではないのですか?スクリプトを置き換えた
—
ムル
ps
ので、他に何を期待していますpstree
か?
@muruあなたの権利は、技術的には私が望んでいたものですが、最小限のものです。つまり、psのようにPIDを表示せずに、どのプロセスを表示しているのかをどのようにして確認できますか?
—
the_velour_fog
pstree -p $$
?それとも、あなたはコマンドラインのショーの多くをしたい場合は、pstree -pa $$
。それとも、あなたが上がってすべての親プロセスを表示したい場合は、pstree -psa $$
。
pstree
ですか?