gedit
분리 된 상태로 실행하려는 프로그램 (일명 "Disowned", "disentangled", "decoupled")이 있다고 가정 합니다. 정확히하고 싶은 것에 따라 다른 방법이 있습니다 :
이미 실행중인 프로그램
자기 것이 아니라고 말하다:
disown -h
이미 실행중인 프로그램으로 (예 : 잊어 버린 경우) 수행하려는 방법 nohup
입니다. 먼저 Ctrl+ 사용하여 중지해야합니다 Z. 그런 다음 bg [jobId]
(예 :)를 사용하여 백그라운드에 넣을 수 있습니다 bg 1
. 을 사용하여 jobId로 실행중인 작업 목록을 얻습니다 jobs
. 그런 다음을 사용하여 터미널에서 분리 할 수 있습니다 disown -h %[jobId]
. 터미널 세션 예 :
$ gedit
^Z
[1]+ Stopped gedit
$ jobs
[1]+ Stopped gedit
$ bg 1
[1]+ gedit &
$ disown -h %1
$ exit
프로그램이 아직 시작되지 않았습니다
노프
nohup
모든 머신에 항상 존재하는 것은 아닙니다. 미리 분리하려는 것을 알고 있다면 다음을 사용하십시오.
nohup gedit &
어쩌면 쉘 출력과 프로그램의 의사 입력 소스를 리디렉션하고 싶을 수도 있습니다 nohup ./myprogram > foo.out 2> bar.err < /dev/null &
. 귀찮게하지 않거나 나중에 사용하도록 출력을 리디렉션하려고합니다. 널 입력은 ssh에서 hickup을 방지하는 데 도움이 될 수 있습니다.
서브 쉘 :
당신은 비슷한 효과를 얻을 수 있습니다
$ (geany >/dev/null 2>&1 &)
대괄호는 gedit in을 실행하기 위해 새 서브 쉘을 엽니 다.이 명령 >/dev/null 2>&1
은 쉘 출력을 아무 곳으로나 리디렉션합니다 (출력 억제). 그리고 &
마지막에는 프로세스를 배경으로 만듭니다.
터미널 멀티플렉싱
또한 화면 또는 byobu를 사용한 터미널 멀티플렉싱 . 기본적으로 자체 터미널에서 프로그램을 실행합니다. 다른 이유로도 byobu를 추천 할 수 있습니다. 아래는 첫 번째 단계에서 유용 할 수있는 보이 부-바로 가기 목록입니다.
유능한:
- F2 새 창 만들기
- F3 다음 창으로 이동
- F4 이전 창으로 이동
- F6 세션에서 분리하고 로그 아웃
- Shift-F6 세션에서 분리하지만 로그 아웃하지 마십시오
- F7 스크롤 백 / 검색 모드 들어가기
- Ctrl-F5 SSH / GPG 소켓 또는 에이전트를 다시 연결
덜 유용 :
- Shift-F2 화면을 가로로 분할
- Ctrl-F2 화면을 세로로 분할
- Shift-F3 다음 분할로 초점 이동
- Shift-F4 이전 분할로 초점 이동
- Shift-F5 모든 분할 축소
- F5 모든 상태 알림 새로 고침
- F8 현재 창 이름 바꾸기
- F9 Byobu 구성 메뉴 시작
- F12 GNU 화면의 이스케이프 키
- Alt-Pageup 이 창의 기록을 다시 스크롤
- Alt-Pagedown 이 창의 기록을 앞으로 스크롤
- Ctrl-a-! Byobu의 모든 키 바인딩을 켜거나 끕니다.
'at'데몬 및 기타
at
예정된 시간에 명령을 실행하는 유용한 작은 도구입니다. 쉘에서 명령을 분리하는 것은 '오용'될 수 있습니다.
echo './myprogram myoption1 myoption2' | at now
또한 setsid
and 를 살펴볼 수 start-stop-daemon
있지만 다른 방법으로 충분합니다.