pkillの文脈では、セッションIDとはどういう意味ですか?

pkillの文脈では、セッションIDとはどういう意味ですか?

コマンドに関してpkillプロセスを終了することが可能であることを知っています。特定のシーンtty[1-6]- 合格と。に基づいてpts/[0-N]テストした結果、期待どおりに機能します。今まではすべて大丈夫です。

ただし、今回の回答とソリューションによると、次のようになります。

次のように表示されます(抽出済み)。

pkillとkillallもkillシステムコール(実際にはシステムコールを直接呼び出すlibcライブラリ)のラッパーですが、PIDはプロセス名、プロセス所有者、およびその他の情報に基づいて決定できます。セッションID、等。

観察するセッションID部分。両方を確認しましたが、manこの機能はpkill次のいずれかにのみ存在します。

それらは次のとおりです。

-s sid,...
Only match processes whose process session ID is listed. 
Session ID 0 is translated into pgrep's or pkill's own session ID.

-s, --session sid,...
Only match processes whose process session ID is listed. 
Session ID 0 is translated into pgrep's or pkill's own session ID.

ご覧のとおり、内容は同じで、オプション/パラメータ名が若干異なります。

私が使用している場合:

  • 直接コンソールを使用して何かを殺すpkillことができますtty[1-6]
  • リモートで接続して何かを殺すためにssh使用できます。pkillpts/[0-N]

この記事を投稿した理由:

質問

  • 何ですかセッションID文脈上意味がありますかpkill

その他の質問

  • どうですか?セッションID作る?
  • リストを知って検索する方法セッションID使用pkill

答え1

セッションIDは、プロセスセッションの識別子です。セッションは、プロセスグループよりも高いレベルのシェルジョブ制御に関する概念です。特定のセッションのすべてのプロセスは同じ制御端末を共有します。非グラフィカル環境では、セッションはログインセッションと考えることができます(少なくともこれは元のアイデアの一部でした。システムベースの環境でログインセッションを追跡するシステムセッションと混同しないでください)。

セッションは以下を呼び出して作成されます。setsid;あなたはまた見ることができます彼らの説明はman credentials。これらのリンクはLinux関連のドキュメントを指していますが、Linuxに固有のものではありません。POSIX仕様setsid

psセッションIDが表示されることがあります。

ps -eo pid,sess,args

関連情報