Process

為什麼執行 sudo cp 顯示兩個程序

  • March 7, 2021

我正在嘗試在 CentOS 機器上複製一些文件和文件夾。

我這樣做:sudo cp source destination & 在後台執行它。

我看到現在執行時有三個cp程序ps aux | grep cp:其中一個是grep命令本身,但另外兩個是上述cp命令的副本:一個帶有上面列出的整個命令,另一個沒有sudo前面列出的命令。兩個程序的 PID 也相差 1。兩者的所有者都被列為 root。

為什麼會有兩個過程?

這兩個過程是sudo一方面,另一方面cp。當你跑

sudo cp source destination &

shellsudo以完整的命令行開頭;然後sudoroot因為它是 setuid執行root)檢查您是否被允許這樣執行cp,然後分叉和開始cp。因此,cp在執行時,您會同時看到sudocp程序。

引用自:https://unix.stackexchange.com/questions/254796