백그라운드에서 Linux 명령을 실행하는 방법

Baeggeulaundeueseo Linux Myeonglyeong Eul Silhaenghaneun Bangbeob



백그라운드에서 Linux 명령을 실행하면 명령이 계속 실행되는 동안 사용자가 다른 작업을 계속 실행할 수 있습니다. 백그라운드에서 명령을 실행하는 방법에는 여러 가지가 있습니다. 간단한 방법 중 하나는 앰퍼샌드 (&) 명령줄 끝에 있습니다.

프로세스가 백그라운드에서 실행되도록 설정되면 다음을 사용하여 프로세스에 액세스할 수 있습니다. 일자리 명령. 이 기사는 백그라운드에서 명령을 실행하는 다양한 방법을 다룹니다.







백그라운드 프로세스를 실행하는 다양한 방법 목록은 다음과 같습니다.



다음은 백그라운드 프로세스를 실행하는 모든 방법에 대한 세부 정보입니다.



1: 앰퍼샌드(&) 기호 사용

Linux에서 앰퍼샌드(&)는 별도의 프로세스로 백그라운드에서 명령을 보내는 셸 연산자입니다. 명령에 앰퍼샌드(&)를 결합하면 백그라운드 프로세스로 실행되어 쉘이 즉시 다른 명령을 계속 처리할 수 있습니다.





앰퍼샌드 기호를 사용하는 백그라운드 프로세스의 구문:

$ [ 명령 ] &


앰퍼샌드 기호는 항상 명령 끝에 추가되며 사이에 단일 공백이 있습니다. '&' 및 명령의 마지막 문자.



예를 들어, 40초 동안 절전 프로세스를 만듭니다.

$ 40


보시다시피 터미널은 sleep 명령을 실행하고 있으며 다른 작업을 수행할 수 없습니다.


이제 누르세요 '컨트롤 + Z' 이 프로세스를 중지합니다. 다음으로 이번에는 동일한 절전 명령을 실행하지만 앰퍼샌드 연산자를 사용하여 백그라운드에서 설정합니다.

$ 40 &



이제 이 프로세스는 백그라운드에 있습니다. 백그라운드 실행 프로세스를 나열하려면 다음을 사용하십시오.

$ 일자리 -엘



이제 다음을 사용하여 이 백그라운드 프로세스를 종료합니다.

$ 죽이다 -9 [ 작업 ID ]


예를 들어 현재 실행 중인 절전 프로세스를 종료하려면 다음을 사용합니다.

$ 죽이다 -9 6149


이제 사용중인 백그라운드 실행 프로세스 목록을 확인하기 위해 절전 프로세스가 종료됩니다.

$ 일자리 -엘



다음은 사용의 또 다른 예입니다. & 앰퍼샌드 서명은 gedit 명령입니다.

예를 들어 터미널을 사용하여 직접 gedit 텍스트 편집기를 열면 다른 작업을 위해 셸을 사용해야 하거나 현재 프로세스를 먼저 중지해야 합니다.

$ 지디


위의 명령을 사용하면 터미널 앞에 열리는 텍스트 편집기가 열립니다.


그러나 gedit 명령 끝에 '&'를 사용한 후에는 쉘을 다른 프로세스에 자유롭게 사용할 수 있습니다.

$ 지디 &


2: 'bg' 명령 사용

bg 명령은 백그라운드에서 명령을 실행하는 두 번째 방법입니다. 이 명령을 사용하면 프로세스가 백그라운드에서 실행되는 동안 사용자가 터미널에서 계속 작업할 수 있으므로 터미널에서 다른 작업을 할 수 있습니다. bg 명령은 사용자가 로그아웃해도 실행되는 장기 실행 백그라운드 프로세스에 사용됩니다.

앰퍼샌드 기호처럼 터미널에 bg 텍스트를 보낼 때마다 명령에 추가하는 것에 대해 걱정할 필요가 없습니다. 백그라운드에서 프로세스 실행을 시작하고 나중에 사용할 수 있도록 터미널을 해제합니다.

예를 들어, 이전 예제를 사용하고 다음을 사용하여 sleep 명령을 전송해 보겠습니다.

$ 40



이제 프로세스가 실행 중이며 터미널을 사용할 수 없습니다. bg 명령을 사용하고 이 프로세스를 백그라운드로 보내려면 먼저 현재 실행 중인 프로세스를 중지해야 합니다. '컨트롤 + Z' 다음 명령을 실행합니다.

$ bg


bg 명령을 보낸 후 절전 프로세스가 백그라운드에서 계속되기 시작했습니다. 끝에 앰퍼샌드 '&'가 표시되어 현재 프로세스가 백그라운드에서 실행 중임을 나타냅니다.


백그라운드 프로세스 실행 작업 명령을 확인하려면 다음을 수행하십시오.

$ 일자리 -엘



백그라운드에서 실행 중인 명령을 확인하려면 다음을 사용하십시오.

$ fg



현재 프로세스를 종료하려면 kill 명령과 함께 해당 작업 ID를 사용하십시오. 작업 ID를 확인하려면 다음을 실행합니다.

$ 일자리 -엘



작업 ID를 알고 나면 다음을 사용하여 프로세스를 종료합니다.

$ 죽이다 -9 [ 작업 ID ]


예를 들어 현재 실행 중인 절전 프로세스를 종료하려면 다음을 사용합니다.

$ 죽이다 -9 6584


프로세스가 종료되었는지 여부를 확인하려면 jobs 명령을 다시 실행하십시오.

$ 일자리 -엘


절전 프로세스가 더 이상 백그라운드에서 실행되지 않는 것을 볼 수 있습니다.

3: nohup 명령 사용

nohup 명령은 Linux에서 실행 중인 백그라운드 프로세스 목록에서 세 번째입니다. 이 명령은 'no hang up'을 나타내며 터미널 세션이 끝날 때까지 프로세스가 종료되지 않도록 하는 데 사용됩니다. nohup을 사용하여 프로세스를 실행하면 사용자가 로그아웃해도 프로세스는 계속 실행되며 프로세스의 출력은 다음과 같은 파일로 리디렉션됩니다. 'nohup.out' .

백그라운드에서 Google을 지속적으로 ping하는 nohup 명령은 출력이 GooglePing.txt 텍스트 파일로 리디렉션됩니다.

$ 노홉 구글 컴 > GooglePing.txt &


이 명령을 작성한 후 터미널이 무료이고 Google에 지속적으로 핑하는 백그라운드 프로세스가 백그라운드에서 실행되고 있음을 알 수 있습니다.


로그 파일에 액세스하려면 다음 명령을 사용할 수 있습니다.

$ 고양이 GooglePing.txt



홈 화면에서 GUI를 사용하여 로그 파일에 액세스할 수도 있습니다.

4: disown 명령 사용

disown 명령은 셸에서 프로세스를 제거하고 백그라운드에서 실행합니다. 프로세스가 소유되지 않으면 더 이상 터미널과 연결되지 않으며 사용자가 로그아웃하거나 터미널을 닫은 후에도 계속 실행됩니다.

이전에는 실행 후 백그라운드에서 프로세스를 보내는 앰퍼샌드 '&' 명령을 사용했지만 쉘을 닫으면 프로세스가 종료됩니다. 이 disown 명령을 제거하려면 거기에 있습니다.

disown 명령은 독립적으로 작동할 수 없지만 최소 하나의 프로세스가 백그라운드에서 실행 중이어야 합니다.

아래 명령을 & 명령을 배경으로 보낼 앰퍼샌드 기호.

$ 구글 컴 > GooglePing.txt &


파일이 생성된 후 jobs 명령을 사용하여 파일을 나열할 수 있습니다.


이제 프로세스가 백그라운드에서 실행되어 터미널 사용에서 분리됩니다.

$ 자기 것이 아니라고 말하다



작업 명령을 다시 실행하여 프로세스가 터미널에서 분리되었는지 확인합니다.

$ 일자리 -엘


프로세스가 현재 실행 중이지만 더 이상 터미널 내부에 표시되지 않습니다.


프로세스를 확인하기 위해 cat 명령을 사용하여 해당 ping 파일에 액세스할 수 있습니다.

$ 고양이 GooglePing.txt



이 프로세스를 터미널에서 성공적으로 분리했지만 여전히 백그라운드에서 실행 중입니다.

5: tmux 유틸리티 사용

Tmux는 일종의 터미널 멀티플렉서 유틸리티입니다. tmux를 사용하면 단일 셸 내에서 여러 터미널 세션을 만들 수 있습니다. 백그라운드에서 프로세스를 실행할 수 있는 기능을 제공합니다.

Tmux에서 백그라운드 프로세스를 실행하려면 새 세션을 만든 다음 Ctrl-b와 d 키 조합을 사용하여 분리할 수 있습니다.

Ubuntu 및 Linux mint에 tmux 유틸리티를 설치하려면 다음을 사용하십시오.

$ 스도 적절한 설치하다 tmux



Fedora에 설치하려면 다음을 실행하십시오.

$ 스도 dnf 설치하다 tmux


Arch Linux에 설치하려면 다음을 실행하십시오.

$ 스도 팩맨 -에스 tmux


이제 tmux 명령을 실행하여 새 터미널을 엽니다.

$ tmux


새 tmux 세션을 만들려면 다음을 사용하십시오.

$ tmux 새로운 -에스 [ session_id ]


모든 tmux 세션을 나열하려면 다음을 사용하십시오.

$ tmux ls


tmux 세션을 종료하려면 다음과 같이 명령을 사용하십시오.

$ tmux 킬 세션 -티 [ session_id ]


예를 들어, 죽이기 위해 '0' tmux 세션 사용:

$ tmux 킬 세션 -티 0


여기에서 현재 실행 중인 tmux 활성 세션을 나열하고 위 명령을 사용하여 종료합니다.


    • tmux 세션에서 분리하려면 다음을 누르십시오. “컨트롤+B+D” .
    • 모든 명령 목록을 보려면 다음을 누르십시오. '컨트롤+B+?' .
    • tmux 창 사이를 이동하려면 “컨트롤+B+O” .

tmux 터미널을 세로로 분할하려면 '컨트롤 + B' 및 유형 % .


에서 메인 터미널로 돌아가려면 tmux 사용:

$ 출구

결론

Linux에서 백그라운드 애플리케이션 실행은 사용자가 터미널에서 로그아웃하거나 창을 닫은 후에도 장기 실행 작업을 계속 실행할 수 있게 해주는 강력한 기능입니다. 일반적으로 앰퍼샌드 & 서명하거나 bg 명령은 백그라운드에서 프로세스를 보내는 데 사용됩니다. 그러나 우리는 또한 사용할 수 있습니다 노홉 또는 자기 것이 아니라고 말하다 터미널에서 프로세스를 분리하는 명령. 마지막으로, 우리는 tmux 유틸리티 터미널을 방해하지 않고 여러 터미널을 만들고 백그라운드 프로세스를 실행합니다.