bash 쉘에서 Nemo를 실행하는 경우 Nemo 프로세스를 종료할 때까지 해당 쉘에서 다른 명령을 실행할 수 없습니다.
그게 내 문제야. 다른 셸을 열거나 시작된 프로세스를 종료하지 않고도 다른 명령을 실행할 수 있기를 원합니다.
답변1
exec Nemo
실행되지 않습니다Nemo
쉘 하위 프로세스에서Nemo
, 즉 쉘 프로세스에서 실행 되므로 쉘을 Nemo
.
하지만 그것은 당신이 원하는 것이 아닌 것 같습니다.
여기서 원하는 것은 별도의 프로세스에서 명령을 실행하는 것 같지만 쉘은 그렇게 하지 않습니다.기다리다다음 프롬프트를 발행하기 전에 프로세스를 완료하십시오.
이렇게 하려면 다음을 사용할 수 있습니다.
Nemo &
비동기식으로 실행 됩니다 Nemo
. 또한 Nemo
Ctrl+C를 누를 때 터미널에서 읽거나 SIGINT에 의해 종료되는 것을 방지하기 위해 대화형 셸에서 완료될 때 백그라운드에 배치됩니다.
명령은 여전히 셸의 작업 목록에 있습니다. 를 사용하여 다시 전경으로 가져올 수 있습니다 fg
. 또한 쉘은 종료할 때 이를 종료하려고 시도합니다(적어도 일부 쉘에서는).
포함된 일부 쉘의 경우 이 명령을 사용하여 쉘에 이를 잊도록 지시 bash
할 수도 있습니다 . disown
를 사용하면 zsh
다음과 같이 시작할 수도 있습니다.
Nemo &!
백그라운드에서 시작하고 즉시 거부합니다.
답변2
백그라운드에서 명령을 실행하는 방법을 말씀하시는 건가요?
"&"를 사용하여 해당 명령을 완성하면 됩니다.
예:
$ nemo &