最近、私はshell
という名前のプロセスの一覧(または単一のプロセスの場合はpid
を使用)を知る必要がある状況に悩まされました。私たちはそれを見つける方法がありますか(好ましくはps
とgrep
コマンドを使用してください)。linuxでプロセスを実行するために使用されたシェルを調べますか?
答えて
プロセスがシェルから起動されていることがわかっているので、プロセスIDがps
、eを使用して取得できる親プロセスのコマンド名を見つけなければなりません。 g。 OUTPUT FORMAT CONTROLオプションoppid
を使用してください。
for pid in ${list[*]}; do echo -n $pid:; ps p`ps p$pid hoppid` hocomm; done
詳細
for pid in ${list[*]}; do …; done
…
が順番に各要素(プロセスID)に可変pid
セットとlist
の各要素に対して一度だけ実行されるコマンド。 Looping Constructsを参照してください。
構造体${list[*]}
は、list
のすべての要素に展開されます。 list
が(例えば、list="1234 5678"
によって設定される)空白で区切られた要素を有する単純変数である場合、list
は配列変数(例えばlist=(1234 5678)
によって設定される)との場合に動作する。 Shell Parameter ExpansionおよびArraysを参照してください。
echo -n $pid:
出力e。 g。 1234:
改行がないため、次の出力は:
のすぐ後に表示されます。 Bash Builtin Commandsを参照してください。
ps p$pid hoppid
処理選択オプションp
情報が、この場合$pid
に、図示されるようにされている方法(群)を選択します。
出力修飾子h
は、列見出しの印刷を抑止します。 g。 PPID
。
出力フォーマット制御オプションo
は、ps
によって提供される情報を選択するために使用されます。この場合、親プロセスIDはppid
です。私たちは、上記の1と非常に類似ps
コマンド、選択、選択した親とそのコマンド名で、この時間を得るように、(親プロセスIDです)
ps p`…` hocomm
前のコマンドの出力は、バッククォートのコマンドを置き換えますcomm
によって出力されます。
Command Substitutionおよびps - report process statusを参照してください。
あなたが提供したコマンドについて詳しく教えてもらえますか? PS:スクリプト作成はあまりよくありません。ありがとう! –
@Gautam Singh:詳細を追加しました。 – Armali
- 1. Linuxプロセスが与えられた引数で実行されているかどうかをシェルスクリプトで調べる
- 2. Linuxプロセスが開始された日時を調べる方法は?
- 3. Linuxシェル複数のテキストファイルに定義された変数を使用して別のシェルスクリプトを実行するスクリプト
- 4. 実行された実際のbitbakeコマンドを調べる方法
- 5. os.system()コマンドを実行して、Linuxシェルを実行しますか?
- 6. Bluemixに配備されたノードアプリケーションでLinuxプロセスを実行するにはどうすればよいですか?
- 7. WindowsでPHPで書かれたシェルを実行するには?
- 8. どのコードが実行されているかを調べるためのツールはありますか?
- 9. Linuxシェル進行中のプロセスで変更を記録するスクリプト
- 10. PythonがJava JAR、ClassNotFoundExceptionを実行するために使用されました
- 11. プロセスがLinuxで使用している物理メモリの量を調べる
- 12. リモートで実行されたプロセスからステータスを取得する
- 13. リモートマシン上でプロセスを実行しているユーザーを調べる
- 14. バックグラウンドに入れた後、Linux上で実行中のプロセスに戻ります。
- 15. ログインモードでデフォルトのシェルを実行するために使用するコマンドは何ですか?
- 16. マークされたプロセスを作成するためにデータフレームにas.pppを使用
- 17. SWT:シェルに子シェルがあるかどうかを調べるための簡単な方法
- 18. Javaアプリケーションの実行時にどのクラスが使用されたかを調べるには
- 19. linux python numpyスクリプトはシェルで実行されますが、端末では実行されません。
- 20. Linuxでコピーオンライトでフォークされたプロセス間でどのくらいのメモリが共有されているかを調べる方法はありますか?
- 21. Cでユーザが作成したプロセスは、マルチコアシステム上でlinuxによって並列に実行されますか?
- 22. プロセスが使用しているポートを見つけるためにADBシェルを使用するには?
- 23. OS XでLinuxシェルを実行
- 24. 実行可能ファイルをコンパイルするためにどのコンパイラが使用されたかを調べる方法は?
- 25. Djangoインスタンスが実行されているポートを調べます。
- 26. Clojure core.asyncを使用した調整プロセス
- 27. WindowsからLinuxシェルでpingを実行する方法
- 28. pack200をjdk 1.4で実行するためにクラスファイルを圧縮するために使用できますか?
- 29. Linuxシェルから単純なクラスファイルを実行するには?
- 30. Linux、Bashは、生成されたプロセスが終了した後にスクリプト内のコマンドを実行します。
です。問題のプロセスのPPIDが何であるかを確認し、プロセスを探してPPIDを取得し、シェルを見つけるまで続行する必要があります。 'pstree'も助けることができます – GMichael
@GMichaelコードベースの再帰呼び出しではなく、他の解決策がありますか?私は、他の処理が必要であるため私に提供できるコマンドがあるので、できるだけ簡潔にしたいと思っています。 –
@GautamSingh No. – 123