
다음과 같은 방식으로 터미널에서 프로그램을 시작하려고 합니다.
- 터미널을 닫아도 프로그램은 닫히지 않습니다
- 프로그램을 열거나 사용하거나 닫는 동안 프로그램이 터미널에 아무 것도 출력하지 않습니다.
- 터미널은 다른 용도로 무료로 사용할 수 있습니다.
- 명령은 짧고 달콤하다
- 걱정할 출력 파일이 없습니다.
답변1
보다 man nohup
:
NAME
nohup - run a command immune to hangups, with output to a non-tty
답변:
nohup program-name &
답변2
나는 이것이 가장 완벽한 방법이라고 생각합니다.
program-name </dev/null &>/dev/null &
disown %%
백그라운드 프로세스를 거부한다는 것은 쉘이 더 이상 프로세스를 추적하지 않는다는 것을 의미합니다. 완료되면 알려주지 않습니다. 쉘을 닫는 것을 방해하지는 않습니다. %%
"가장 최근에 배경 작업을 수행한 작업"을 의미합니다.
모든 세부 사항을 숨기려면 .bashrc에 이와 같은 기능을 넣으십시오.
launch_and_forget () { "$@" </dev/null &>/dev/null & disown %%; }
그 다음에
launch_and_forget program args "args args" ...
당신에게 의미 있는 이름을 지어주세요.
답변3
당신은 아주 간단하게 사용할 수 있습니다setsid
:-
NAME
setsid - run a program in a new session
SYNOPSIS
setsid program [arg...]
DESCRIPTION
setsid runs a program in a new session.
다음 명령을 시도해 보십시오:-
setsid <command>
예: setsid gedit
- setsid nautilus ~/Downloads/
등