![Bash에서 작업 일시 중지(Ctrl-Z)를 지원하는 터미널 멀티플렉서(screen, tmux, zellij)가 있습니까?](https://linux55.com/image/222444/Bash%EC%97%90%EC%84%9C%20%EC%9E%91%EC%97%85%20%EC%9D%BC%EC%8B%9C%20%EC%A4%91%EC%A7%80(Ctrl-Z)%EB%A5%BC%20%EC%A7%80%EC%9B%90%ED%95%98%EB%8A%94%20%ED%84%B0%EB%AF%B8%EB%84%90%20%EB%A9%80%ED%8B%B0%ED%94%8C%EB%A0%89%EC%84%9C(screen%2C%20tmux%2C%20zellij)%EA%B0%80%20%EC%9E%88%EC%8A%B5%EB%8B%88%EA%B9%8C%3F.png)
내가 아는 한, 터미널 멀티플렉서에서 Ctrl-Z를 누르거나 백그라운드에서 실행하려고 하면 아무 작업도 수행되지 않거나 충돌이 발생합니다.
터미널 멀티플렉서는 일반적으로 자체 일시 중지 및 재개 메커니즘이 있다는 점에서 작업 제어를 "대체"한다는 것을 알고 있습니다. 그러나 어떻게든 이를 쉘 작업 제어 기반 워크플로에 통합할 수 있는지 궁금합니다.
답변:
- 화면이 일시 정지되고 "Ca z"라고 표시됩니다.
- Tmux가 "Cb Cz"로 일시중지됩니다.
- Zellij는 "Co d"를 사용하여 일시 중지하지만 이전과 달리 프로세스를 셸의 작업 제어에 넣지 않습니다.
답변1
창 내에서 작업을 일시 중지하시겠습니까 screen
?
- Ctrl z평소처럼 화면 창 내에서 사용하세요. 그러나 일시정지는 없습니다
screen
.
일시중지하시겠습니까 screen
?
- Ctrl az모든 창 화면 내부에서 사용하세요. 그러나 이렇게 하면
screen
애플리케이션의 사용자 측 부분이 일시 중지되지만 전달은 일시 중지되지 않습니다screen
. 이는screen
설계상 사용자 측 부분이 분리될 수 Ctrl ad있고 관리되는 프로세스가 계속 실행되기 때문입니다.
답변2
멀티플렉서
Tmux가 "Cb Cz"로 일시중지됩니다.
...이것은 prefix Ctrl+ 입니다 z(기본 접두사는 Ctrl+ 입니다 b).
Ctrl+ 단독을 사용하여 클라이언트를 일시 중지하도록 지시할 수 있습니다 z. 다음은 tmux 내의 쉘에 대한 명령입니다.
tmux bind-key -T root C-z suspend-client
Ctrl하지만 그러면 tmux 내에서 +를 사용하여 프로세스를 일시 중지하는 기능을 잃게 됩니다 z. 이제 prefix Ctrl+ z그냥 전송 ^Z
하고 "내부" tty가 처리하도록 하는 것이 현명합니다 .
tmux bind-key -T prefix C-z send-keys C-z
이런 식으로 tmux에서 prefix Ctrl+ z와 +의 기본 기능을 바꿉니다 .Ctrlz
내부 명령은 .tmux.conf
다음과 같습니다.
bind-key -T root C-z suspend-client
bind-key -T prefix C-z send-keys C-z