백그라운드에서 Linux 명령을 실행하면 명령이 계속 실행되는 동안 사용자가 다른 작업을 계속 실행할 수 있습니다. 백그라운드에서 명령을 실행하는 방법에는 여러 가지가 있습니다. 간단한 방법 중 하나는 앰퍼샌드 (&) 명령줄 끝에 있습니다.
프로세스가 백그라운드에서 실행되도록 설정되면 다음을 사용하여 프로세스에 액세스할 수 있습니다. 일자리 명령. 이 기사는 백그라운드에서 명령을 실행하는 다양한 방법을 다룹니다.
백그라운드 프로세스를 실행하는 다양한 방법 목록은 다음과 같습니다.
다음은 백그라운드 프로세스를 실행하는 모든 방법에 대한 세부 정보입니다.
1: 앰퍼샌드(&) 기호 사용
Linux에서 앰퍼샌드(&)는 별도의 프로세스로 백그라운드에서 명령을 보내는 셸 연산자입니다. 명령에 앰퍼샌드(&)를 결합하면 백그라운드 프로세스로 실행되어 쉘이 즉시 다른 명령을 계속 처리할 수 있습니다.
앰퍼샌드 기호를 사용하는 백그라운드 프로세스의 구문:
$ [ 명령 ] &
앰퍼샌드 기호는 항상 명령 끝에 추가되며 사이에 단일 공백이 있습니다. '&' 및 명령의 마지막 문자.
예를 들어, 40초 동안 절전 프로세스를 만듭니다.
$ 잠 40
보시다시피 터미널은 sleep 명령을 실행하고 있으며 다른 작업을 수행할 수 없습니다.
이제 누르세요 '컨트롤 + Z' 이 프로세스를 중지합니다. 다음으로 이번에는 동일한 절전 명령을 실행하지만 앰퍼샌드 연산자를 사용하여 백그라운드에서 설정합니다.
이제 이 프로세스는 백그라운드에 있습니다. 백그라운드 실행 프로세스를 나열하려면 다음을 사용하십시오.
이제 다음을 사용하여 이 백그라운드 프로세스를 종료합니다.
예를 들어 현재 실행 중인 절전 프로세스를 종료하려면 다음을 사용합니다.
이제 사용중인 백그라운드 실행 프로세스 목록을 확인하기 위해 절전 프로세스가 종료됩니다.
다음은 사용의 또 다른 예입니다. & 앰퍼샌드 서명은 gedit 명령입니다.
예를 들어 터미널을 사용하여 직접 gedit 텍스트 편집기를 열면 다른 작업을 위해 셸을 사용해야 하거나 현재 프로세스를 먼저 중지해야 합니다.
$ 지디
위의 명령을 사용하면 터미널 앞에 열리는 텍스트 편집기가 열립니다.
그러나 gedit 명령 끝에 '&'를 사용한 후에는 쉘을 다른 프로세스에 자유롭게 사용할 수 있습니다.
2: 'bg' 명령 사용
bg 명령은 백그라운드에서 명령을 실행하는 두 번째 방법입니다. 이 명령을 사용하면 프로세스가 백그라운드에서 실행되는 동안 사용자가 터미널에서 계속 작업할 수 있으므로 터미널에서 다른 작업을 할 수 있습니다. bg 명령은 사용자가 로그아웃해도 실행되는 장기 실행 백그라운드 프로세스에 사용됩니다.
앰퍼샌드 기호처럼 터미널에 bg 텍스트를 보낼 때마다 명령에 추가하는 것에 대해 걱정할 필요가 없습니다. 백그라운드에서 프로세스 실행을 시작하고 나중에 사용할 수 있도록 터미널을 해제합니다.
예를 들어, 이전 예제를 사용하고 다음을 사용하여 sleep 명령을 전송해 보겠습니다.
$ 잠 40
이제 프로세스가 실행 중이며 터미널을 사용할 수 없습니다. bg 명령을 사용하고 이 프로세스를 백그라운드로 보내려면 먼저 현재 실행 중인 프로세스를 중지해야 합니다. '컨트롤 + Z' 다음 명령을 실행합니다.
bg 명령을 보낸 후 절전 프로세스가 백그라운드에서 계속되기 시작했습니다. 끝에 앰퍼샌드 '&'가 표시되어 현재 프로세스가 백그라운드에서 실행 중임을 나타냅니다.
백그라운드 프로세스 실행 작업 명령을 확인하려면 다음을 수행하십시오.
백그라운드에서 실행 중인 명령을 확인하려면 다음을 사용하십시오.
현재 프로세스를 종료하려면 kill 명령과 함께 해당 작업 ID를 사용하십시오. 작업 ID를 확인하려면 다음을 실행합니다.
작업 ID를 알고 나면 다음을 사용하여 프로세스를 종료합니다.
예를 들어 현재 실행 중인 절전 프로세스를 종료하려면 다음을 사용합니다.
프로세스가 종료되었는지 여부를 확인하려면 jobs 명령을 다시 실행하십시오.
절전 프로세스가 더 이상 백그라운드에서 실행되지 않는 것을 볼 수 있습니다.
3: nohup 명령 사용
nohup 명령은 Linux에서 실행 중인 백그라운드 프로세스 목록에서 세 번째입니다. 이 명령은 'no hang up'을 나타내며 터미널 세션이 끝날 때까지 프로세스가 종료되지 않도록 하는 데 사용됩니다. nohup을 사용하여 프로세스를 실행하면 사용자가 로그아웃해도 프로세스는 계속 실행되며 프로세스의 출력은 다음과 같은 파일로 리디렉션됩니다. 'nohup.out' .
백그라운드에서 Google을 지속적으로 ping하는 nohup 명령은 출력이 GooglePing.txt 텍스트 파일로 리디렉션됩니다.
$ 노홉 핑 구글 컴 > GooglePing.txt &
이 명령을 작성한 후 터미널이 무료이고 Google에 지속적으로 핑하는 백그라운드 프로세스가 백그라운드에서 실행되고 있음을 알 수 있습니다.
로그 파일에 액세스하려면 다음 명령을 사용할 수 있습니다.
홈 화면에서 GUI를 사용하여 로그 파일에 액세스할 수도 있습니다.
4: disown 명령 사용
disown 명령은 셸에서 프로세스를 제거하고 백그라운드에서 실행합니다. 프로세스가 소유되지 않으면 더 이상 터미널과 연결되지 않으며 사용자가 로그아웃하거나 터미널을 닫은 후에도 계속 실행됩니다.
이전에는 실행 후 백그라운드에서 프로세스를 보내는 앰퍼샌드 '&' 명령을 사용했지만 쉘을 닫으면 프로세스가 종료됩니다. 이 disown 명령을 제거하려면 거기에 있습니다.
disown 명령은 독립적으로 작동할 수 없지만 최소 하나의 프로세스가 백그라운드에서 실행 중이어야 합니다.
아래 명령을 & 명령을 배경으로 보낼 앰퍼샌드 기호.
$ 핑 구글 컴 > GooglePing.txt &
파일이 생성된 후 jobs 명령을 사용하여 파일을 나열할 수 있습니다.
이제 프로세스가 백그라운드에서 실행되어 터미널 사용에서 분리됩니다.
작업 명령을 다시 실행하여 프로세스가 터미널에서 분리되었는지 확인합니다.
프로세스가 현재 실행 중이지만 더 이상 터미널 내부에 표시되지 않습니다.
프로세스를 확인하기 위해 cat 명령을 사용하여 해당 ping 파일에 액세스할 수 있습니다.
이 프로세스를 터미널에서 성공적으로 분리했지만 여전히 백그라운드에서 실행 중입니다.
5: tmux 유틸리티 사용
Tmux는 일종의 터미널 멀티플렉서 유틸리티입니다. tmux를 사용하면 단일 셸 내에서 여러 터미널 세션을 만들 수 있습니다. 백그라운드에서 프로세스를 실행할 수 있는 기능을 제공합니다.
Tmux에서 백그라운드 프로세스를 실행하려면 새 세션을 만든 다음 Ctrl-b와 d 키 조합을 사용하여 분리할 수 있습니다.
Ubuntu 및 Linux mint에 tmux 유틸리티를 설치하려면 다음을 사용하십시오.
$ 스도 적절한 설치하다 tmux
Fedora에 설치하려면 다음을 실행하십시오.
Arch Linux에 설치하려면 다음을 실행하십시오.
이제 tmux 명령을 실행하여 새 터미널을 엽니다.
새 tmux 세션을 만들려면 다음을 사용하십시오.
모든 tmux 세션을 나열하려면 다음을 사용하십시오.
tmux 세션을 종료하려면 다음과 같이 명령을 사용하십시오.
예를 들어, 죽이기 위해 '0' tmux 세션 사용:
여기에서 현재 실행 중인 tmux 활성 세션을 나열하고 위 명령을 사용하여 종료합니다.
-
- tmux 세션에서 분리하려면 다음을 누르십시오. “컨트롤+B+D” .
- 모든 명령 목록을 보려면 다음을 누르십시오. '컨트롤+B+?' .
- tmux 창 사이를 이동하려면 “컨트롤+B+O” .
tmux 터미널을 세로로 분할하려면 '컨트롤 + B' 및 유형 % .
에서 메인 터미널로 돌아가려면 tmux 사용:
결론
Linux에서 백그라운드 애플리케이션 실행은 사용자가 터미널에서 로그아웃하거나 창을 닫은 후에도 장기 실행 작업을 계속 실행할 수 있게 해주는 강력한 기능입니다. 일반적으로 앰퍼샌드 & 서명하거나 bg 명령은 백그라운드에서 프로세스를 보내는 데 사용됩니다. 그러나 우리는 또한 사용할 수 있습니다 노홉 또는 자기 것이 아니라고 말하다 터미널에서 프로세스를 분리하는 명령. 마지막으로, 우리는 tmux 유틸리티 터미널을 방해하지 않고 여러 터미널을 만들고 백그라운드 프로세스를 실행합니다.