nautilus复制文件时的实际进程名称是什么?

nautilus复制文件时的实际进程名称是什么?

我正在将一些文件从外部驱动器复制到运行 Ubuntu 的桌面。我可以看到“文件操作”对话框,其中显示复制过程。

ps aux | grep如何在命令中找到这个特定进程?我以为这会是一些cp命令,但没有cp命令运行!那么这种复制是如何进行的呢?请提供任何指示。

答案1

进程名称是nautilus. Nautilus 包含自己的复制文件的代码,该代码在 nautilus 进程内部执行,而不是在子进程中执行。

您可以通过记录 Nautilus 的系统调用来亲自查看 Nautilus 运行的子进程斯特雷斯:

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

系统clone调用创建新进程(它是fork)。系统execve调用在同一进程中运行另一个程序。因此,运行另一个程序需要紧随clone其后execve。您可以快速查看 Nautilus 执行(或尝试)的程序

grep execve /tmp/nautilus.strace

您会发现 Nautilus 会为某些操作创建子进程,例如预览某些类型文件的内容,但它会自行进行文件复制。

相关内容