sudo cpを実行すると2つのプロセスが表示される理由

sudo cpを実行すると2つのプロセスが表示される理由

CentOSコンピュータからいくつかのファイルとフォルダをコピーしようとしています。

私はそうします。sudo cp source destination & バックグラウンドで実行します。

cp実行すると、3つのプロセスがあることがわかりますps aux | grep cp。そのうちの1つはgrepコマンド自体で、残りの2つは上記のcpコマンドのコピーです。 1つは上記の完全なコマンドを含み、もう1つは前のsudoコマンドを持っていません。両方のプロセスのPIDも1つずつ異なります。両方の所有者はルートとしてリストされます。

なぜ2つのプロセスがありますか?

ベストアンサー1

これら2つのプロセスは、一方ではsudo他方cpではあります。走るとき

sudo cp source destination &

シェルはsudo完全なコマンドラインで始まります。次に(sudosetuidであるため実行中)、この実行が許可されていることを確認してから分岐して起動します。したがって、実行時にプロセスを表示できます。rootrootcpcpcpsudocp

おすすめ記事