프로세스가 거부되더라도 백그라운드에서 강제로 실행되도록 하려면 어떻게 해야 합니까?

프로세스가 거부되더라도 백그라운드에서 강제로 실행되도록 하려면 어떻게 해야 합니까?

예를 들어:

$ vim &
[1] 19133
$ bg
[1]+ vim &

[1]+  Stopped                 vim
$

그러나 나는 백그라운드로 들어갈 때 vim이 멈추는 것을 원하지 않습니다. 그게 가능합니까? (로그인 및 텔넷과 같은 다른 프로그램에서도 작동)

답변1

터미널에서 입력을 읽으려고 하면 백그라운드로 전송된 대화형 프로세스가 중단됩니다. 다음과 같은 터미널 멀티플렉서를 사용할 수 있습니다.screen

screen -d -m vim

그러면 새 화면 세션이 생성되고 자동으로 분리됩니다. 다시 연결하기 위해 screen -r.

답변2

이게 맞는지 틀린지는 모르겠는데

ping google.com &

아직 실행 중이지만 그렇게 한다면

cat >abc.txt &

실행되고 있지 않습니다. 그 이유는 이러한 프로세스가 백그라운드에 있는 동안 무엇이든 할 수 있으므로 대화형 프로세스가 중지되어 리소스가 절약되기 때문일 수 있습니다.

관련 정보