CentOS 컴퓨터에서 일부 파일과 폴더를 복사하려고 합니다.
저는 이렇게 합니다. sudo cp source destination &
백그라운드에서 실행합니다.
cp
실행하면 이제 세 개의 프로세스가 있는 것을 볼 수 있습니다 ps aux | grep cp
. 그 중 하나는 grep
명령 자체이고 나머지 두 개는 cp
위 명령의 복사본입니다. 하나는 위에 나열된 전체 명령을 포함하고 다른 하나는 sudo
이전 명령이 없습니다. 두 프로세스의 PID도 하나씩 다릅니다. 둘 다의 소유자는 루트로 나열됩니다.
왜 두 가지 프로세스가 있습니까?
답변1
이 두 프로세스는 sudo
한편으로는 cp
다른 한편으로는 있습니다. 당신이 달릴 때
sudo cp source destination &
쉘은 sudo
전체 명령줄로 시작합니다. 그런 다음( sudo
setuid이기 때문에 실행 중) 이렇게 실행이 허용되는지 확인한 다음 분기하고 시작합니다. 따라서 런타임에 및 프로세스를 볼 수 있습니다.root
root
cp
cp
cp
sudo
cp