为什么运行 sudo cp 显示两个进程

Sri*_*ram 4 process sudo

我正在尝试在 CentOS 机器上复制一些文件和文件夹。

我这样做: sudo cp source destination & 在后台运行它。

cp现在运行时看到有三个进程ps aux | grep cp:其中一个是grep命令本身,但另外两个是上述cp命令的副本:一个包含上面列出的整个命令,另一个没有sudo前面的命令。两个进程的PID也相差一。两者的所有者都被列为 root。

为什么有两个进程?

Ste*_*itt 15

这两个过程是sudo一方面,另一方面cp。当你跑

sudo cp source destination &
Run Code Online (Sandbox Code Playgroud)

shellsudo以完整的命令行开始;然后sudoroot因为它是 setuid而运行root)检查您是否可以这样运行cp,然后 fork 和 starts cp。因此,cp在运行时,您会看到sudocp进程。