[ps]の[..]の意味と、そのようなプロセスをどのように作成しますか?


10

psを実行すると、次のようになります。

root         2  0.0  0.0      0     0 ?        S<   00:00   0:00 [kthreadd]
root         3  0.0  0.0      0     0 ?        S<   00:00   0:00 [ksoftirqd/0]
root         4  0.0  0.0      0     0 ?        S<   00:00   0:00 [events/0]

すべてのデーモンプロセスは、通常、その周りに '[..]'ブラケットを持っています。

(もしあれば)どういう意味ですか?このようなプロセスをどのように作成しますか?

私が尋ねる理由は、rcSからシステムデーモンを作成することです(プログラムはforkを使用してデーモンを作成します)が、psエントリは次のようになります。

root       207  0.0  0.2   1516   200 ?        S    00:00   0:00 /root/testdaemo

したがって、[[..]]ブラケットを使用することが重要かどうか、プロセスがそもそもどうやってブラケットを取得するかについて疑問に思っていました。

ありがとう。


回答:


14

角括弧は、関連するコマンドラインがないプロセス(主にカーネルスレッドと一部のシステムサービス)に使用されます。

正しく思い出せばargv[0]、空の文字列に設定することで、プロセスに同じ効果をもたらすことができるかもしれません。


1
mostly-例外は何ですか?
n611x007 2013年

末尾の/ 0はどういう意味ですか?
RyanN 2014

4
@RyanN、それはカーネルスレッドが最初のCPUで実行されていることを意味します。
フレデリックハミディ2014

5

はい、それらはカーネルサブシステムによって作成されたカーネルスレッドです。これらは、カーネルでkthread_create()またはkernel_thread()関数を使用して作成されます。


2

あなたの例ではも表示されていない[...]ので、あなたが何を話しているのか100%わかりません。ただしargv、任意のプログラム(Linux)の引数を変更することは可能です。引数はの出力に反映されますps


2
[...]プレースホルダーとして意図された。名前をカプセル化する[kthreadd]< -theを参照していました[]

ああ、分かった。そう、私はそれらがカーネルプロセスであると信じています。
Chris Eberle 2011
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.