nohup을 사용하여 sudo 프로세스를 실행하는 방법은 무엇입니까?

nohup을 사용하여 sudo 프로세스를 실행하는 방법은 무엇입니까?

nohup을 사용하여 sudo 명령을 실행하는 방법은 무엇입니까? sudo 명령을 실행한 다음 프로세스를 중단하거나 중지하지 않고 ssh 세션을 종료하고 싶습니다.

시도해봤지만 효과가 없었어요

sudo nohup . test.sh

답변1

사용

nohup sudo <command> &

두 번째 문제는 실행 모드입니다. 셸 내부 명령이므로 함께 . script사용할 수 없으며 실행 파일만 허용합니다. 이는 오류 메시지에도 표시되어야 합니다.nohup.nohupnohup.out

즉, 사용

nohup sudo /bin/bash script.sh &

(또는 실행하는 쉘) 스크립트를 실행 가능하게 만드십시오.

답변2

실패한 것은 sudo 명령이 아니라 .내부 쉘 명령이기 때문에 실패하는 것입니다. 다음은 유효할 수 있습니다.

sudo nohup /bin/bash test.sh

또는:

nohup sudo /bin/bash test.sh

차이점은 nohup.out의 소유자입니다.

안돼, 안돼:

sudo /bin/bash test.sh & disown %1

또는:

(sudo /bin/bash test.sh &)

후자의 두 경우에 로그인이 필요한 경우에는 >logfile 2>&1을 사용하세요. 스크립트의 특성에 따라 이를 지정할 필요가 없을 수도 .있고 /bin/bash전혀 지정할 필요가 없을 수도 있습니다.

관련 정보