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