質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
86.02%
Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Q&A

解決済

シェル(bash) -> 親 -> 子 の構図で親が終了した際の子が2つのグループに属することついて

akiyama3284pga
akiyama_pga

総合スコア186

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

1回答

0グッド

0クリップ

209閲覧

投稿2022/11/30 04:43

イメージ説明

my2.py の親である、my.pyが終了すると、
my2.pyは孤児プロセスとなると思います(プロセスグループは子があるため存続)。
しかし、まだ当然該当の端末は終了していないため、bashをリーダーとするセッション内の
バックグラウンドプロセスグループに留まっていると思います。

このように2つのプロセスグループに属する状況というのは問題にならないのでしょうか?
それとも自分の認識が合っておらず、実際にはどちらか一方にのみ属する形となるのでしょうか?

以下のような質問にはグッドを送りましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

グッドが多くついた質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

2022/11/30 05:09

こちらの質問が他のユーザーから「プログラミングに関係のない質問」という指摘を受けました。

回答1

1

ベストアンサー

親が死ぬだけなら、ppidがinit(とも限らないけど)につけかわるけど、pgidは変わらない。initのprocess groupに属することにはならないし、孤児グループというものも混在しない(使い道がないので)。

投稿2022/11/30 09:59

matukeso

総合スコア1427

akiyama_pgaを押しています

良いと思った回答にはグッドを送りましょう。
グッドが多くついた回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。

下記のような回答は推奨されていません。

  • 間違っている回答
  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

回答へのコメント

akiyama3284pga

2022/11/30 10:23

毎度ありがとうございます。 試しに、親が終了後に標準出力してみるテストコードを行い、 依然として親が属していた制御端末に出力される結果を見て、納得いたしました。 親は別セッションのプロセス(init,systemd...)にはなったものの、当然まだ自分の属するセッションの端末も(設定次第で...)まだ入出力可能だと

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
86.02%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。