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

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

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

最佳答案
进程名称是nautilus. Nautilus包含自己的代码来复制文件,此代码在nautilus进程内执行,而不是在子进程中执行.

您可以通过使用strace记录其系统调用来自行查看Nautilus运行的子进程:

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

克隆系统调用创建新进程(这是fork的概括). execve系统调用在同一进程中运行另一个程序.因此,运行另一个程序需要克隆,然后执行execve.您可以快速查看Nautilus执行(或尝试)的程序

grep execve /tmp/nautilus.strace

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

转载注明原文:nautilus复制文件时的实际进程名称是什么? - 代码日志