
원격 서버에 연결하고 다음과 같이 실행합니다.
cat /dev/zero > /dev/null & disown %-
그런 다음 logout
다시 연결하고 실행 중인 프로세스가 ps
표시되지 않습니다 cat
. 왜?
답변1
이 명령은 내 쪽에서 작동합니다. 리소스가 많이 소요될 것 같습니다. 어쩌면 당신은 시도하고 싶을 수도 있습니다:
sleep 999 & disown %-
대신 다시 로그인한 후에 수행하세요 ps aux | grep sleep
.
그러나 프로세스를 시작하기 전에 프로세스 소유를 취소하고 싶다면 nohup을 사용할 수 있습니다.
nohup sleep 999
답변2
"현재"(가장 최근에 백그라운드로 실행된) 작업에는 %%
또는 를 사용하세요 . 에 대한 것입니다%+
%-
이전의작업은 두 번째로 최근에 중지되었거나 백그라운드 작업입니다. 직업이 하나만 있어도 같은 의미입니다. 그러나 쉘 세션이나 스크립트의 이전 부분에서 일부 백그라운드 작업을 실행 중인 상태로 놔둔 경우 사용 중인 방식이 %-
아마도 생각한 작업을 대상으로 하지 않을 것입니다.