내가 아는 한, 터미널 멀티플렉서에서 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