sudo nohup 니 <—에서 무엇인가?
문제
그래서 나는 스크립트하고 싶은 루트로 실행하지 않고,전화 끊기 및습니다.무엇을 위해 주어야 한다는 명령을까요?
sudo nohup 좋은 foo.bash&
나
nohup 좋은 sudo foo.bash&
etc.
나는 그것을 의심 중요하지 않지만 어떤 통찰력을에서 사람들 말 알고있다.
해결책
부정적인 niceness가 원한다면, 나는 할 것입니다 : sudo nohup nice 명령 'info coreutils'nohup에 따르면 선행 멋진. 부정적인 좋은 가치를 원한다면 Sudo는 이전에 와야합니다. Root만이 부정적인 멋진 값을 사용할 수 있기 때문입니다.
긍정적 인 niceness가 원한다면 간단하게 할 것입니다.
다른 팁
Sudo는 Niceness를 존중하지 않을 수 있습니다. 적어도 내 컴퓨터에 있지 않습니다 (Ubuntu 9.04). 이것을 실행 :
nice sudo nice
sudo nice nice
0과 10을 인쇄합니다 (명령이없는 'nice'는 현재의 냉담함을 인쇄합니다.)
Sudo는 Nohup과 Nice가 루트 특권으로 달리지 않도록 마지막으로 가야합니다.
그래서 후자
~ $ sudo nohup nice whoami
nohup: ignoring input and appending output to `nohup.out'
~ $ sudo cat nohup.out
root
당신이 한 첫 번째 방법과 두 번째 방법의 차이점은 Nohup.out 파일을 소유 한 사람입니다. sudo
먼저 루트를 소유하게합니다. nohup
Sudo가 사용자가 소유하게하기 전에.
동의하지 않는다 다른 답변으로. 나는 추천한다 :
sudo nohup nice foo.sh
나는 관찰했다 Nohup Sudo #불합격 -IE Nohup이 항상 Sudo'd 하위 서브 프로세스로 전송되는 것은 아닙니다 (이것은 다른 스크립트에 위임 한 Ubuntu의 특정 /etc/init.d 스크립트를위한 것입니다). 왜 그런지, 확실히 놀랍지 만, 사실이었고 디버그하는 동안 좋은 일을했습니다.
(다른 사람들은 냉담함이 통과되지 않는다고보고하기 때문에 마지막으로 말하는 것이 가장 좋다고 생각합니다 ... OS에 대한 의심이 더 일찍 좋지는 않지만, 효력을 발휘하지 못하는 것이 일반적으로 Nohup이 효력을 발휘하지 않는 것보다 문제가 적기 때문입니다!)
주목하십시오 Sudo nohup 언급 된 바와 같이 루트가 소유 한 Nohup.out를 남겨 두지만 다음과 같이 수정됩니다.
sudo nohup nice foo.sh >> /tmp/foo.stdout.log 2>> /tmp/foo.stderr.log
난 모든 이들의 exec*syscall 공을 전달하고 다음 중 하나,그래서,어떤 순서,그것을 떠나지 않을 것에 매달려 프로세스입니다.
내가 말하는 nohup 해야 마지막으로 이렇게는 두 개의 다른 하지 않 clober 신호 처리기입니다.(나는 확실히 좋지 않으로 재생 신호를 그러나 sudo 않습니다.)
그런 다음,sudo 과 멋,그것은 모두에 따라 달라는 당신이 원하는 방식을 변경하는 스케줄링을 최우선으로 좋습니다.
- 당신이 원하는 경우 우선 순위를 올릴(즉,게 부정적인 값을 좋)할 sudo 다.
- 하려는 경우 낮은 우선순위(을 긍정적인 값)기 전에 그것을 할 sudo,필요가 없으므로 root 권한이 있습니다.