CTRL우연히 +를 누르면 Z내 응용 프로그램이 백그라운드로 사라지는 경우가 가끔 있습니다 . 알아요, 로 다시 가져갈 수 있으니 fg
별 문제는 아니죠. 하지만 job control
어쨌든 이 기능을 끄는 것이 궁금합니다 . 평생 동안 필요할 때 단 한 번도 기억할 수 없으며 단지 과거의 유물로 보입니다.
완전히 비활성화해도 괜찮습니까 job control
? 아니면 뭔가 빠졌는데 이 기능이 유용할 수 있나요? 내에서 어떻게 비활성화합니까?.bashrc
업데이트:
set +m
@Falsenames가 제안한대로 시도했습니다 . 그러나 이것은 터미널에 입력할 때만 작동합니다. set +m
my에 추가해도 .bashrc
효과가 없습니다.
답변1
모니터링 모드 사용을 중지하려면 명령줄에 다음을 추가할 수 있습니다.
+m으로 설정
나중에 ctrl-z 기능이 정말로 필요한 경우 'set -m'을 입력하여 해당 세션에 대한 모니터링을 활성화할 수 있습니다.
에서남자 강타. 이는 '-m'에 대한 것이며 "+m"을 사용하면 해당 설정이 비활성화됩니다.
set [+abefhkmnptuvxBCEHPT] [+o option] [arg ...]
....
-m
Monitor mode. Job control is enabled. This option is on by default for interactive
shells on systems that support it (see JOB CONTROL above). Background processes
run in a separate process group and a line containing their exit status is printed
upon their completion.
마지막 노력으로 "--enable-job-control" 플래그 없이 bash 버전을 수동으로 컴파일할 수도 있습니다. 여기에 빠른설치 가이드GNU에서. 이 경로를 선택하는 경우 백그라운드 프로세스가 bash를 통해 작업 제어를 기대하는 경우를 대비하여 /bin/bash를 바꾸지 마십시오. 대신 /bin/bash.alt 또는 다른 파일을 만드십시오. usermod를 실행하거나 /etc/passwd를 루트로 편집하여 기본 쉘을 대체 쉘로 변경할 수 있습니다.
답변2
stty susp undef
대부분의 프로그램에서 키보드 시작 일시 중지 신호를 비활성화하지만 특정 바인딩이 있는 vim 및 emacs와 같은 명령은 Ctrl-Z개별적으로 재구성해야 합니다. Emacs에서는 (global-unset-key "\C-z")
.
해당 stty 명령을 ~/.bash_profile
또는 ~/.profile
로그아웃에 추가하고 다시 로그인할 수 있습니다.
답변3
아니면 뭔가 빠졌는데 이 기능이 유용할 수 있나요?
질문의 이 부분에 답하려면: Cz / fg
콤보는 내 vim 작업 흐름에 필수적입니다. 예를 들어, 나는 vim 내에서 git 래퍼를 사용하는 것보다 Cz > git commit
>를 선호합니다.fg
Cz는 "한 가지 일을 해라" 원칙. ("IDE로서의 편집기" 대신)
답변4
trap "" SIGTSTP
스크립트를 추가하세요 . 신호를 포착하고 무시합니다.
#!/bin/bash
trap "" SIGTSTP
watch date