Nautilusがファイルをコピーするときの実際のプロセス名は何ですか?

Nautilusがファイルをコピーするときの実際のプロセス名は何ですか?

外部ドライブの一部のファイルをUbuntuを実行しているデスクトップにコピーしています。コピー処理を示すファイル操作ダイアログボックスが表示されます。

ps aux | grepコマンドでこの特定のプロセスをどのように見つけることができますか?私はそれがいくつかのcpコマンドであると思いましたが、cpコマンドは実行されません!では、このコピーはどのように機能しますか?アドバイスを提供してください。

答え1

プロセス名はですnautilus。 Nautilusには、子プロセスではなくノーチラスプロセス内で実行される独自のコピーファイルのコードが含まれています。

Nautilusのシステムコールを記録することで、Nautilusが実行されているサブプロセスを直接確認できます。ストレス:

strace -f -o /tmp/nautilus.strace nautilus

新しいプロセスを作成するためのシステムcloneコール(fork)。システムexecveコールは同じプロセス内で別のプログラムを実行します。cloneしたがって、別のプログラムを実行するにはexecve。 Nautilusがどのプログラムを実行(または試行)したかをすばやく確認できます。

grep execve /tmp/nautilus.strace

ノーチラスは、特定の種類のファイルコンテンツのプレビューなど、特定のタスクのサブプロセスを作成しますが、ファイル自体をコピーすることがわかります。

関連情報